算法 - 字节转字符

本文探讨了在Java中如何进行字节到字符的转换,解析了字节、字符、位和字的基本概念,以及Java中8大基本类型占用的字节数,并介绍了进制转换的相关知识。在实际项目中遇到将730字节的16进制数据转化为365个字符的需求,通过理解这些基础知识来解决实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:最近项目刚进入开发阶段就给了我一重锤,一个接口,解剖了一下业务需求,字节转字符把我难住了。

                (需求提示: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 数取值范围备注
byte1字节8-128~127即 (-2)的7次方 ~ (2的7次方) - 1
short2字节16-32768~32767即 (-2)的15次方 ~ (2的15次方) - 1
int4字节32-2147483648~2147483647即 (-2)的31次方 ~ (2的31次方) - 1
long8字节64即 (-2)的63次方 ~ (2的63次方) - 1
boolean1字节8true、false
char2字节16Java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节。
float4字节32float 类型的数值有一个后缀 F(例如:3.14F)
double6字节64没有后缀 F 的浮点数值(例如:3.14)默认为 double

进制转换

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值