Unicode,以及byte和char的关系

本文详细介绍了Unicode编码,它为每种语言的每个字符提供了一个唯一的二进制表示。Unicode应用广泛,可以通过'u0041'等不同形式表示同一个字符如'A'。接着探讨了char类型,作为16位Unicode字符,其范围从'u0000'到'uffff'。同时对比了char和byte的区别,指出byte不能涵盖所有字符。

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

Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode Character Table(入口在这里) 包含常见语言的字符和可打印的符号字符,字符提供了 HTML 代码,名称/描述和相应的打印符号。

Unicode应用

Unicode-A

可以这么理解:

字符十六进制十进制
‘A’4165

注意:这些都可以转化为’A’
‘\u0041’
(char)65
(char)0x41
另:
“\u0041”==”A”
“\u5F20\u4E09”==”张三”

char,字节(byte)的关系

char

  • char data type is a single 16-bit Unicode character
  • Minimum value is ‘\u0000’ (or 0)
  • Maximum value is ‘\uffff’ (or 65,535 inclusive)
  • Char data type is used to store any character
  • Example: char letterA = ‘A’

byte

byte, int, long, and short can be expressed in decimal(base 10), hexadecimal(base 16) or octal(base 8) number systems as well.

Prefix 0 is used to indicate octal, and prefix 0x indicates hexadecimal when using these number systems for literals. For example −

int decimal = 100;
int octal = 0144;
int hexa =  0x64;

byte VS char

byte a = 65;
byte a = 0x41
char a = 'A'

byte i = 21363;//Type mismatch: cannot convert from int to byte

int i=21363;
char hanz = (char)i;//21363是汉字 “即”

注意:这些都可以转化为’A’
‘\u0041’
(char)65
(char)0x41

总结


  • Unicode 其实就是\u+十六进制来代表所有的字符
  • 同时十六进制转化为十进制后,也可以代表所有的字符
  • 十进制不只是byte类型,byte类型不能包括所有的字符。

  • char data type is a single 16-bit Unicode character
  • Minimum value is ‘\u0000’ (or 0)
  • Maximum value is ‘\uffff’ (or 65,535 inclusive)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值