unicode编码对照表,unicode编码对照表字母

http://www.itjxue.com  2023-01-20 18:47  来源:未知  点击次数: 

怎样查一个字符的unicode编码

你好,访问

输入想要的查看的字符,然后点击搜索图标,最后点击搜索到的某个结果。这里我们搜索的是2

然后就可以看到该字符的详细介绍了(这里只截取了一部分信息,下面还有很多,详细可查看:)

ANSI编码是一种对ASCII码的拓展:ANSI编码用0x00~0x7f (即十进制下的0到127)范围的1 个字节来表示 1 个英文字符,超出一个字节的 0x80~0xFFFF 范围来表示其他语言的其他字符。也就是说,ANSI码仅在前128(0-127)个与ASCII码相同,之后的字符全是某个国家语言的所有字符。值得注意的是,两个字节最多可以存储的字符数目是2的16次方,即65536个字符,这对于一个语言的字符来说,绝对够了。还有ANSI编码其实包括很多编码:中国制定了GB2312编码,用来把中文编进去另外,把编到Shift_JIS里,韩把韩文编到Euc-kr里,各国有各国的标准。受制于当时的条件,不同语言之间的ANSI码之间不能互相转换,这就会导致在多语言混合的文本中会有乱码仅供参考

字符编码-深入理解ASCII,GB2312,GBK,Unicode,UTF-8

ASCII码是西欧编码的方式,采取7位编码,所以是2^7=128,共可以表示128个字符,包括34个字符,(如换行LF,回车CR等),其余94位为英文字母和标点符号及运算符号等。

重点:

注:NUL:‘\0'是一个ASCII码为0的字符,从ASCII码表中可以看到ASCII码为0的字符是“空操作字符”,它不引起任何控制动作,也不是一个可显示的字符。

你看到的unicode字符集是这样的编码表:

计算机只懂二进制,因此,严格按照unicode的方式(UCS-2),应该这样存储:

这个字符串总共占用了18个字节,但是对比中英文的二进制码,可以发现,英文前9位都是0!浪费啊,浪费硬盘,浪费流量。

怎么办?

UTF

UTF-8是这样做的:

这样就形成了如下的UTF-8标记位:

从上面的内容了解了字符编码以后,以后遇到相关的字符编码问题的时候至少有解决的思路,而不是一头雾水

开始问题分析:

1.字符集分析:gb2312支持数字和英文和6000+汉字

2.编码分析:英文占一个字节,中文占两个字节(这就是问题)

这时就要想到,中文汉子对照表:

3.特性:gb2312的高位字节如果大于127(ASCII),就为中文,只有gb2312具有这个特性

4.如果想兼容utf-8和unicode和gbk,那么可以4位16进制的字符截取,如果大于127,那么默认为中文,否则就是英文或字符或数字

这个函数是把数字或进制字符都转为10进制的数字,第二个参数radix表示的是第一个参数string的类型(10进制,2进制,8进制,16进制),我之前很白菜的理解为我想把第一个参数string转化成16进制。哎,我还是太年轻啊

常见Unicode编码范围

经常我们会用到判断某个字符或者字符串是否包含中文,英文,特殊符号等等。这时候可以通过判断Unicode所在区间来确定某个字符所处类型。当然可以通过直接判断Unicode码,但是鉴于习惯,以下提供的是Unicode码对应的数字区间。毕竟字符的本质也就是通过二进制进行存储编码的而已。

汉字:[0x4e00,0x9fa5](或十进制[19968,40869])

数字:[0x30,0x39](或十进制[48, 57])

小写字母:[0x61,0x7a](或十进制[97, 122])

大写字母:[0x41,0x5a](或十进制[65, 90])

其他:除上所有

转自: 常见Unicode编码范围

(责任编辑:IT教学网)

更多

推荐linux文章