unicode 是几个字节?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unicode 是几个字节?相关的知识,希望对你有一定的参考价值。

unicode是2个字节。

这一标准的2字节形式通常称作UCS-2。然而,受制于2字节数量的限制,UCS-2只能表示最多65536个字符。Unicode的4字节形式被称为UCS-4或UTF-32,能够定义Unicode的全部扩展,最多可定义100万个以上唯一字符。2016-06-21颁发的Unicode9,0共收录128,237个字。

Unicode是一种字符集,Unicode的学名是“UniversalMultiple-OctetCodedCharacterSet”,简称为UCS。UCS可以看作是“UnicodeCharacterSet”的缩写。

扩展资料

unicode的使用

1、使用代码页(Codepage)转换表的技术来过渡性的部分解决这一问题,即通过指定的转换表将非 Unicode 的字符编码转换为同一字符对应的系统内部使用的 Unicode 编码。

2、可以在“语言与区域设置”中选择一个代码页作为非 Unicode 编码所采用的默认编码方式,如936为简体中文GBK,950为繁体中文Big5(皆指PC上使用的)。

参考资料来源:百度百科—Unicode

参考技术A Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。
目前的用于实用的 Unicode 版本对应于 UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。
utf-8长度是1-6个字节,第一个字节的高位1的数目指明了这个utf-8的字符使用的byte数目,在UTF-8编码集中,每个汉字使用 3个字符表示本回答被提问者和网友采纳
参考技术B 转自北大中文论坛-中文信息化:
UTF-8 每字至少 1 byte,至多 4 bytes。1 byte 字符与 US-ASCII 相符。U+0800-07ff 是 2 bytes,0800-ffff 是 3 bytes,之后的是 4 bytes
UTF-32 或称 UCS-4 ,每字都是 4 bytes
UCS-2 每字都是 2 bytes,但容纳不了扩展平面的字符,於是,Unicode 拨出了 d800-dfff 的位置,以两个这些字符来代表扩展平面的字符。这就叫 surrogate. 加上了这种变通方法后,UCS-2 就改名成了 UTF-16。扩展平面的字符,所占的位置就是 2 x 2 bytes
参考技术C 两个字节 参考技术D

彻底搞定各种编码ASCII、ANSI、GBK、utf

字符串编码和字节解码

本人以前就经常搞不清楚utf-8、unicode、字符串、二进制序列、编码、解码这几个之间的关系,趁今天有时间,赶紧写篇文章巩固这几个概念,免得以后又搞混了。

字符串是什么?

字符串就是字符序列,说得更通俗点,一串字符就是字符串。问题在于该如何给字符下定义?

2015年开始,“字符”的最好定义就是Unicode字符。python3的str对象里获取的元素就是unicode字符。

Unicode标准把字符的标识和具体的字节表述进行了明确的区分。

*  字符的标识,即码位,是 0~1 114 111 的数字(十进制),在 Unicode 标准中以 4~6 个

十六进制数字表示,而且加前缀“U+”。例如,字母 A 的码位是 U+0041,欧元符号的
码位是 U+20AC,高音谱号的码位是 U+1D11E。在 Unicode 6.3 中(这是 Python 3.4 使
用的标准),约 10% 的有效码位有对应的字符。

*  字符的具体表述取决于所用的编码。编码是在码位和字节序列之间转换时使用的算法。

在 UTF-8 编码中,A(U+0041)的码位编码成单个字节 x41,而在 UTF-16LE 编码中
编码成两个字节 x41x00。再举个例子,欧元符号(U+20AC)在 UTF-8 编码中是三个
字节——xe2x82xac,而在 UTF-16LE 中编码成两个字节:xacx20

把码位(Unicode字符)转换成具体字节的过程叫编码encode;把字节转换成码位(Unicode)的过程叫解码decode。

1 s = "中国人"
2 print(type(s))
3 #对Unicode字符串编码
4 bs = s.encode("utf-8")
5 #解码
6 print(bs.decode())

为了方便自己记忆,可以把字节序列想象成机器可以理解的二进制,Unicode字符串当成人类可以读的文本字串,那么吧二进制转换成人类可读的文本就是解码,把人类可读的文本转换成二进制进行存储或者网络传输的过程就是编码。

 

以上是关于unicode 是几个字节?的主要内容,如果未能解决你的问题,请参考以下文章

什么是Unicode码?它由几个字节组成

一个空格占多少个字符?

java中一个字符是几个字节?字符和字节是同等的吗?

编码解码

一个汉字到底是多少个字符,高手请进

鼠标右键插入unicode控制字符怎么弄出来?