• 编码


    参考1: https://www.qqxiuzi.cn/bianma/Unicode-UTF.php
    参考2: https://www.cnblogs.com/xinruzhishui/p/6259146.html

    本工具可以把中文、英文字母、标点符号、特殊特号等字符串转换成以反斜杠u(u)开头的16进制Unicode编码,反之还原 字符、Unicode、UTF
    -8、UTF-16、UTF-32相互编码和解码。一次可连续输入64个字符;编码也是连续输入,但需注意UTF-16/32的字节顺序标记(BOM),如果没有提供BOM,默认以大尾序解码。 Unicode 是容纳世界所有文字符号的国际标准编码,使用四个字节为每个字符编码。 UTF 是英文 Unicode Transformation Format 的缩写,意为把 Unicode 字符转换为某种格式。UTF 系列编码方案(UTF-8、UTF-16、UTF-32)均是由 Unicode 编码方案衍变而来,以适应不同的数据存储或传递,它们都可以完全表示 Unicode 标准中的所有字符。目前,这些衍变方案中 UTF-8 被广泛使用,而 UTF-16 和 UTF-32 则很少被使用。 UTF-8 使用一至四个字节为每个字符编码,其中大部分汉字采用三个字节编码,少量不常用汉字采用四个字节编码。因为 UTF-8 是可变长度的编码方式,相对于 Unicode 编码可以减少存储占用的空间,所以被广泛使用。 UTF-16 使用二或四个字节为每个字符编码,其中大部分汉字采用两个字节编码,少量不常用汉字采用四个字节编码。UTF-16 编码有大尾序和小尾序之别,即 UTF-16BE 和 UTF-16LE,在编码前会放置一个 U+FEFF 或 U+FFFE(UTF-16BE 以 FEFF 代表,UTF-16LE 以 FFFE 代表),其中 U+FEFF 字符在 Unicode 中代表的意义是 ZERO WIDTH NO-BREAK SPACE,顾名思义,它是个没有宽度也没有断字的空白。 UTF-32 使用四个字节为每个字符编码,使得 UTF-32 占用空间通常会是其它编码的二到四倍。UTF-32 与 UTF-16 一样有大尾序和小尾序之别,编码前会放置 U+0000FEFF 或 U+FFFE0000 以区分。 1个字节8位 FF; 2^8-1 = 255 255个字符 2个字节16位 FF FF; 2^16-1 = ‭65,535 6万个字符‬ 3个字节24位 FF FF FF; 2^24-1 = ‭16,777,215 ‬1677万个字符 4个字节32位 FF FF FF FF; 2^32-1 = ‭4,294,967,295‬ 42亿字符 //%e6 = 230 %88= 136 %91=145 = 我 byte[0] = 230; byte[1] = 136; byte[2] = 145; byte[] byteArray = new byte[] { 230, 136, 145, 123 }; string str = System.Text.Encoding.UTF8.GetString(byteArray); //比如230;前面有3个1;所以取3个字节; //%e6 = 230 %88= 136 %91=145 = 我
  • 相关阅读:
    Spring IOC(二)
    Spring组件注册
    第六章:随机数和expect
    第二十一节:异常处理
    第二十节:基础知识阶段复习
    LVM逻辑卷管理
    第十九节:类的装饰器和数据描述符的应用
    第十八节:上下文管理协议
    第十七节:数据描述符
    第十六节:内置函数补充
  • 原文地址:https://www.cnblogs.com/enych/p/12869872.html
Copyright © 2020-2023  润新知