• [导入]Unicode字符集详解


    一句来自《三国》中的话——分久必合合久必分,各个字符集之间也存在的分久必合的现象。随着国际标准ISO10646规定的通用字符集(UCS,全称Universal Mutiple-Octet Doded Character Set)的发布,各种字符集之间不统一和谐的问题就得到了改观。

    UTF编码,全称是Unicode Transformer Format,这种编码是UCS的实际形式,它的分类是按照其基本长度所占用的位数而定,分为UTF-8/16/32三种形式。UTF可以说是其他字符集的集合,它使得其它字符集是交叉兼容的,可以说,凡是将文字符号转为UCS后再转回原来的编码,也不会丢失信息。

    UCS包含了现在所有的已知语言的字符,包含从拉丁文、希腊语到中文、韩文等象形文字,再到日文的平假名、片假名等众多语系 。因此使用UTF进行程序开发,绝对是程序国际化的首选,Unicode将世界的语言统一起来,构成了最伟大的字符集。

    1.UTF-8字符集

    UTF-8保证了字母与数字都是一个字节,其他的文字用不定长编码,最多占用6个字节,它支持31位编码。前64K的Unicode(UCS-2)编成UTF-8只需要3个字节。

    UTF-8的最大优点:
    能够与128位以下编码和单字节处理软件兼容
    UTF-8的多字节编码没有字节错乱问题。例如删除半个汉字时(在某些软件如CuteFTP中)时不会导致其他文字乱码


    2.UTF-16字符集

    UTF-8是变长编码,每个Unicode代码点按照不同范围,可能会存在着1-3个不同的字节。

    UTF-16是相对固定的编码,如果处理的内容在U200000范围内,每个Unicode代码点都是16位的,超出的话,就会使用2个UTF-16(也就是4个字节)。同时UTF-16还按照位的字节高地分为UTF-16BE和UTF-16LE。


    3.UTF-32字符集

    UTF-32字符集始终固定,没有UTF-8/16的定位问题,每个Unicode代码点都是用32位表示(也就是4个字节)。同样,它也按照 位的字节高地分为UTF-32BE和UTF-32LE。


    结语:

    UTF可以说是各种文字的大杂烩,这样让各种字符融会贯通,只要通过简单的定位,就可以实现对字符串的各项操作了(UTF-32不需要定位即可),但是UTF-32是UTF编码家族占用空间最大的,在开发时候不应忽略这一点。
  • 相关阅读:
    office(PPT、Word、Excel)功能目录
    《数商》笔记
    笔记模板
    如何运用思维导图安排考生读书计划(增订版)
    自制桌面图片
    selenium+AutoIt
    selenium中应用问题解决
    mysql卸载
    vue每次修改刷新当前子组件
    vue与dajngo
  • 原文地址:https://www.cnblogs.com/tantaiyizu/p/1277908.html
Copyright © 2020-2023  润新知