Unicode,以及byte和char的关系

原创 2016年10月26日 08:55:23

Unicode

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

Unicode应用

Unicode-A

可以这么理解:

字符 十六进制 十进制
‘A’ 41 65

注意:这些都可以转化为’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)

char类型和Unicode编码

【0】README 0.1)本文对 char类型和Unicode编码 的总结并不完整,仅供参考; 【1】char 类型 1)char类型:它用于表示单个字符, 通常用来表示字符常量; 2)Unic...
  • PacosonSWJTU
  • PacosonSWJTU
  • 2016年04月10日 15:57
  • 1908

char类型与Unicode编码

 Java的char型是非常独特的,占用两个字节,因为Java中char型采用了Unicode编码。要理解这个问题,我们必须要理解什么是Unicode。世界上存在着多种编码方式,同一个二进制数字可以被...
  • QGJava
  • QGJava
  • 2010年07月11日 13:51
  • 7774

Unicode下CString和char *之间的互相转换

CString中存储的字符的数据类型为wchar_t类型。 一、CString转换为char * (1)方法一:使用wcstombs() #include using namespace st...
  • candyliuxj
  • candyliuxj
  • 2011年09月21日 10:35
  • 16169

关于char wchar_t 和 unicode utf8等混淆概念

以下内容转载: 对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。 ****************************** 首先,内存中的数据是单纯的二进制数据,当然你要用十六进...
  • cwj649956781
  • cwj649956781
  • 2013年11月11日 14:46
  • 1194

单字节字符集,多字节字符集,Unicode

所有的   string   类都是以C-style字符串为基础的。C-style   字符串是字符数组。所以我们先介绍字符类型。这里有3种编码模式对应3种字符类型。 第一种编码类型是单子节字符集(s...
  • leixiaohua1020
  • leixiaohua1020
  • 2013年10月15日 18:51
  • 4980

C++ int、long、double、char所占字节数和表示范围

数据范围
  • SenyeLicone
  • SenyeLicone
  • 2016年08月03日 21:55
  • 2336

关于”unicode字符是2个字节“这句话的讨论

很多人,即使是有一些项目经验的人,都说过这句话。但是如果深入的理解什么是unicode之后就会知道,原来我们经常说的这句话“unicode字符是2个字节”这句话是有问题的。 要说清楚这个问题,首先就...
  • kemaWCZ
  • kemaWCZ
  • 2016年02月26日 13:58
  • 2432

如何区分四字节unicode和两字节unicode

   最近遇到一个项目,需要对古文做检索,需要支持到方正超大字符集,也可以说是unicode 5.0。查阅相当多的资料,都不得其解,后来终于搜索到一句“其中第一个字的范围是:d800-dbff,第二个...
  • mybvc
  • mybvc
  • 2010年03月04日 10:31
  • 1018

带你玩转Visual Studio——带你理解多字节编码与Unicode码

上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C++运行时库及它的来龙去脉,这是C++开发中特别容易误入歧途的...
  • luoweifu
  • luoweifu
  • 2015年10月25日 22:55
  • 23956

char与byte的区别

很多初学者(包括我,已经学了一年多java了)肯会对char和byte这两种数据类型有所疑惑,相互混淆,今天特地查了好多资料,对byte和char两种数据类型进行了总结和比较,先将结果与大家分享: ...
  • luoweifu
  • luoweifu
  • 2012年07月21日 16:18
  • 127458
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unicode,以及byte和char的关系
举报原因:
原因补充:

(最多只允许输入30个字)