算法 - 字节转字符
前言:最近项目刚进入开发阶段就给了我一重锤,一个接口,解剖了一下业务需求,字节转字符把我难住了。
(需求提示:730字节(16进制)=365字符)先整理下基础知识
字节,字符,位,字简述
- b是bit的缩写,b就是bit,也就是 比特位 / 位(bit),是计算机表示数据最小的单位,每一位的状态只能是0或1。
- B是Byte的缩写,B就是Byte,也就是字节(Byte),1字节等于8位
- 8bit(比特位)= 1Byte(字节)
- 1024Byte(字节)= 1K(千字节)
- 1024K(千字节)= 1M(兆字节)
- 1024M = 1G
- 1024G = 1T
- 1个字符=2字节
- 1 字母 = 1 B= 8 b
- 1 汉字 = 2 B = 16 b
- 字符: 人们使用的记号,抽象意义上的一个符 号。 '1', '中', 'a', '$', '¥', ……
- 字节: 计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。 0x01, 0x45, 0xFA, ……
- 字符串 : 在内存中,如果“字符”是以 ANSI 编码形式存在的,一个字符可能使用一个字节或多个字节来表示,那么我们称这种字符串为 ANSI 字符串或者多字节字符串。
- 字 : 字就是由一些字符组成的,是据算计处理数据时一次存取,加工和传送的数据长度。
字由若干字节构成,字的位数叫字长,一台8位机子:一个字等于1个字节,字长为8位,如果是16位的机子。一个字等于2个字节,字长为16,字是计算机处理数据和运算的单位。
由此可见,计算机的字长决定了其CPU一次操作处理实际位数的多少,即:计算机的字长越大,其性能越好。
Java 8大基本类型所占字节数(或 bit 数)
类型 | 存储需求 | bit 数 | 取值范围 | 备注 |
---|---|---|---|---|
byte | 1字节 | 8 | -128~127 | 即 (-2)的7次方 ~ (2的7次方) - 1 |
short | 2字节 | 16 | -32768~32767 | 即 (-2)的15次方 ~ (2的15次方) - 1 |
int | 4字节 | 32 | -2147483648~2147483647 | 即 (-2)的31次方 ~ (2的31次方) - 1 |
long | 8字节 | 64 | 即 (-2)的63次方 ~ (2的63次方) - 1 | |
boolean | 1字节 | 8 | true、false | |
char | 2字节 | 16 | Java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节。 | |
float | 4字节 | 32 | float 类型的数值有一个后缀 F(例如:3.14F) | |
double | 6字节 | 64 | 没有后缀 F 的浮点数值(例如:3.14)默认为 double |
进制转换
算法 - 字节转字符相关推荐
- c语言比特和字节,详解 比特(位,bit),字节(Byte),字符的区别 *(转)
比特(位):英文bit,是计算机晶体管的一种状态(通电与断电).就是0与1,真与假,是计算机最基本的传输单位. 示例: 2bit : 10; 4bit : 1111; 8bit : 1111 1111 ...
- python 将一个整数变成2个字节的字符
python 将int 变成指定字节的字符可以使用struct , 通过字符对照表可以知道转2个字节可是使用H 或者h 对照表:地址链接 代码如下 import structprint(struct. ...
- MySQL基础篇:位、字节和字符的关系
零. 目的 为了深入的学习MySQL数据库的相关知识,在学习MySQL数据库中数据类型之前,先总结一下位.字节.字符的关系,避免弄混. 一.位 位(bit)是计算机内部数据存储的最小单位.8个&quo ...
- java 替换四个字节的字符 '\xF0\x9F\x98\x84\xF0\x9F)的解决方案
2019独角兽企业重金招聘Python工程师标准>>> /*** 替换四个字节的字符 '\xF0\x9F\x98\x84\xF0\x9F)的解决方案 ?* @author ChenG ...
- [19/04/02-星期二] IO技术_字符流分类总结(含字符转换流InputStreamReader/ OutputStreamWriter,实现字节转字符)...
一.概念 ------->1.BufferedReader/BufferedWriter [参考19.03.31文章] *Reader/Writer-------->2.InputStre ...
- 基于连通域字符分割的流程_基于改进连通域算法的车牌字符分割方法
基于改进连通域算法的车牌字符分割方法 朱亚萍,邱锦山,杨成忠 [摘 要] 摘要:为了解决车牌字符分割中不连通汉字分割.粘连字符分割以及 竖直边框干扰等问题,提出了一种基于改进连通域算法的车牌字符分割方 ...
- 乱码的根本原因是字节和字符的问题(转)
1,为什么会出现乱码 乱码的根本原因是字节和字符的问题. 我们在大学学习c的时候,老师就有介绍字符和字节. 字节由8个bit位表示,最早的编码是ASCII码,ASCII码是单字节的编码字符.因为单字节 ...
- python2 去除 字符串中emoji 符号,去除所有4字节utf8字符
对咱们天朝程序员来说,最常用的编码方式就是UTF-8了.大家在创建数据库的时候,总是条件反射选择UTF-8编码. 最近我遇到一个emoji 符号不能写入数据库得问题.通过查询资料得知,emoji 符号 ...
- java 4字节字符_java 替换四个字节的字符 '\xF0\x9F\x98\x84\xF0\x9F)的解决方案
/** * 替换四个字节的字符 '\xF0\x9F\x98\x84\xF0\x9F)的解决方案
最新文章
- 【Python-ML】SKlearn库Pipeline工作流和K折交叉验证
- ERROR: This virtual machine appears to be in use
- 紫东太初:自动化所开源图-文-音三模态的预训练大模型
- iPhone走马灯控件实现
- biosrecovery什么意思_BIOS中的每个中文是什么意思
- 如何循序渐进的学习javaScript呢,请听我慢慢道来!
- linux eclipse 头文件路径,Eclipse CDT标准库头文件设置
- C/C++ OpenCV高斯滤波
- linux命令之awk终极系列
- 饮冰三年-人工智能-Python-16Python基础之迭代器、生成器、装饰器
- Centos7 安装Jdk1.8u172
- Android 学习 笔记_07. XML文件解析
- 谈一谈编译器(主要针对C++的vs编译器)
- 工业互联网是什么?发展有多厉害?
- 小米手机安装欧洲版系统(MIUI12) 详细安装教程
- 数理统计——样本分布
- Method isEmpty in android.text.TextUtils not mocked
- 90个面试问题(带答案)
- Natbib 参考文献样式
- 美标 三段式、四段式 耳机头 以旧换新