发布网友 发布时间:2022-04-22 00:08
共3个回答
热心网友 时间:2023-08-07 22:43
unicode是一个工业标准。提出unicode的目的是为了能够用一致的方式表示所有地球语言所包含的文本和符号,从而能够被计算机以一致的方式进行处理。
unicode字符能够用任何一种叫做unicode
transformation
formats的方案进行编码。
平时说的utf-8、utf-16、utf-32等,是unicode的具体的字符编码方式。
热心网友 时间:2023-08-07 22:43
简单的说,就是万用的文字代码,在电脑上用 16 位元显示字符的代码 ,同 ASCII 类似, 但是包括更大数量的字符并可以显示全世界所有语言的字符
热心网友 时间:2023-08-07 22:44
UTF8 == Unicode Transformation Format -- 8 bit
是Unicode传送格式。即把Unicode文件转换成BYTE的传送流。
UTF8流的转换程序:
Input: unsigned integer c - the code point of the character to be encoded (输入一个unicode值)
Output: byte b1, b2,b3, b4 - the encoded sequence of bytes (输出四个BYTE值)
Algorithm(算法):
if (c<0x80)
b1 = c>>0 & 0x7F | 0x00
b2 = null
b3 = null
b4 = null
else if (c<0x0800)
b1 = c>>6 & 0x1F | 0xC0
b2 = c>>0 & 0x3F | 0x80
b3 = null
b4 = null
else if (c<0x010000)
b1 = c>>12 & 0x0F | 0xE0
b2 = c>>6 & 0x3F | 0x80
b3 = c>>0 & 0x3F | 0x80
b4 = null
else if (c<0x110000)
b1 = c>>18 & 0x07 | 0xF0
b2 = c>>12 & 0x3F | 0x80
b3 = c>>6 & 0x3F | 0x80
b4 = c>>0 & 0x3F | 0x80
end if
=====================
unicode 是一种编码表格,例如,给一个汉字规定一个代码。类似 GB2312-1980, GB18030等,只不过字集不同。
=====================
一个unicode码可能转成长度为一个BYTE,或两个,三个,四个BYTE的UTF8码,取决于unicode码的值。英文unicode码因为值小于0x80,只要用一个BYTE的UTF8传送,比送unicode两个BYTEs快。
UTF8是为传送unicode而想出来的“再编码”方法罢了。
UTF8转unicode用我上面给的程序反算即可。