,UTF-8,和Unicode是什么关系?UTF-8的全称又是什么?

用户投稿 41 0

关于“php_utf8转unicode”的问题,小编就整理了【4】个相关介绍“php_utf8转unicode”的解答:

UTF-8,和Unicode是什么关系?UTF-8的全称又是什么?

简单来说:

Unicode 是「字符集」

UTF-8 是「编码规则」

其中:

字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point)

编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程)

广义的 Unicode 是一个标准,定义了一个字符集以及一系列的编码规则,即 Unicode 字符集和 UTF-8、UTF-16、UTF-32 等等编码……Unicode 字符集为每一个字符分配一个码位,例如「知」的码位是 30693,记作 U+77E5(30693 的十六进制为 0x77E5)。UTF-8 顾名思义,是一套以 8 位为一个编码单位的可变长编码。会将一个码位编码为 1 到 4 个字节:根据上表中的编码规则,之前的「知」字的码位 U+77E5 属于第三行的范围:这就是将 U+77E5 按照 UTF-8 编码为字节序列 E79FA5 的过程。反之亦然。

unicode编码转换工具?

有许多可以使用。

其中比较常见和易用的有UnicodeConverter、UTF-8编码转换工具等。

这些工具可以帮助我们将不同编码格式的文字转换成unicode编码,便于我们在不同平台间复制粘贴,也可以避免一些编码兼容性的问题。

如果在编程时需要对中文字符进行编码转换,Python的codecs模块也能为我们提供很好的支持。

有了utf-8还要unicode干嘛?

 Unicode 是一个字符集。UTF-8是编码规则。 

unicode 虽定义字符的二进制编码,但没有规定如何存储。 UTF-8是定义了二进制码如何存储。它是一种可变长度的编码规则与ASCII首字节兼容,方便转换,通用性好。

如何正确转换QSTring类型字符串和UNICODE?

将QString转为char字符串

printf("%s\n", (const char*)lineEdit2->text ().local8Bit());

另外如果还是有无法识别的乱码出现,可以在代码中加入

QTextCodec *codec=QTextCodec::codecForName("UTF8");

最后有一个关于汉字unicode码的提取与转换的问题,以下是我的实现方法

提取QString unicode码:

unsigned int a = lineEdit2->text ().at (0).unicode ();

printf("%d, %d\n", (wchar_t)((const char*)lineEdit2->text ()), a);

printf("%d\n", convent(a));

将unicode设为汉字:

QString ch;

unsigned int tt;

tt = 0x963f;

ch = ch.setUnicodeCodes((const unsigned short int *)&tt,1);

pushButton2->setText (ch);

到此,以上就是小编对于“php_utf8转unicode”的问题就介绍到这了,希望介绍关于“php_utf8转unicode”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!