• unicode 与 utf-8


    Unicode 是一种字符集,Unicode 的学名是 "Universal Multiple-Octet Coded Character Set",简称为UCS。

    UCS 可以看作是 "Unicode Character Set" 的缩写。

    这一标准的 2 字节形式通常称作 UCS-2。然而,受制于 2 字节数量的限制,UCS-2 只能表示最多 65536 个字符。

    Unicode 的 4 字节形式被称为 UCS-4 或 UTF-32,能够定义 Unicode 的全部扩展,最多可定义 100 万个以上唯一字符。

    2016-06-21 颁发的 Unicode 9.0 共收录 128,237 个字。

    UCS-4 是一个更大的尚未填充完全的 31 位字符集,加上恒为 0 的首位,共需占据 32 位,即 4 字节。

    理论上最多能表示 2^31 个字符,完全可以涵盖一切语言所用的符号。


    ------------------------------------------------------------


    UTF 是 “UCS Transformation Format” 的缩写。

    UCS 只是规定如何编码,并没有规定如何传输、保存这个编码。

    例如“汉”字的 UCS 编码是 6C49,

    我可以用 4 个ascii 数字来传输、保存这个编码;

    也可以用 utf-8 编码 3 个连续的字节 E6 B1 89 来表示它。

    关键在于通信双方都要认可。

    UTF-8、UTF-7、UTF-16 都是被广泛接受的方案。

    ------------------------------------------------------------

    UCS2 和 UTF16有区别

    UCS2是定长的,固定2个字节,所以不能支持扩展字符,而UTF16是变长的。

    ------------------------------------------------------------

    多字节字符集和宽字符集

    1.宽字符(wide character,该字符集内每个字符使用相同的位长)Unicode规范是宽字符的规范

    宽字符是宽度始终为 16 位的多语言字符代码。 字符常量的类型是 char;对于宽字符,该类型是 wchar_t。 由于宽字符始终具有固定大小,

    因此使用宽字符集可以简化使用国际字符集进行的编程。

    2.多字节字符(multibytecharacter,每个字符可以是一到多个字节不等,

    而某个字节序列的字符值由字符串或流(stream)所在的环境背景决定)

  • 相关阅读:
    4.2网络层提供的两种服务
    4.1网络层概述
    MATLAB曲面插值及交叉验证
    python爬虫成长之路(二):抓取代理IP并多线程验证
    KNN识别图像上的数字及python实现
    python爬虫成长之路(一):抓取证券之星的股票数据
    YARN环境搭建 之 一:CentOS7.0系统配置
    高效学习方法总结
    《立委随笔:机器学习和自然语言处理》
    XenServer安装虚拟机先扩容存放ISO镜像文件
  • 原文地址:https://www.cnblogs.com/personnel/p/15423237.html
Copyright © 2020-2023  润新知