字符集的选择

字符集的选择
一:背景介绍

  1. DICOM特定字符集(0008,0005)
    此标签获得不同的值就代表使用不同的语言进行解码。
    以下为多家CT厂商的(0008,0005)取值:
    ge
  2. 字符集:

unicode是字符集,ASCII、GB2312、GBK、GB18030既是字符集也是编码方式,UTF-8只是编码方式。

二:中文字符集介绍

  1. 世界通用字符集——UTF
    在这里插入图片描述
  2. 中文字符集——GB2312、GBK、GB18030
    在这里插入图片描述
    字符集的详细介绍
    一:UTF-8

程序是把一个字节一个字节的来读取,然后再根据字节中开头的bit标志来识别是该把1个还是两个或三个字节做为一个单元来处理.
• 0xxxxxxx——如果是这样的01串,也就是以0开头后面是啥就不用管了XX代表任意bit.就表示把一个字节做为一个单元.就跟ASCII完全一样.
• 10xxxxx 10xxxxxx——如果是这样的格式,则把两个字节当一个单元
• 1110xxxx 10xxxxxx 10xxxxxx如果是这种格式则是三个字节当一个单元.
而UTF-8由于里面有额外的标志信息,所有一个字节只能表示2的7次方128个字符,两个字节只能表示2的11次方2048个字符.而三个字节能表示2的16次方,65536个字符.
由于"汉"的编码27721大于2048了所有两个字节还不够,只能用三个字节来表示.
所有要用1110xxxx 10xxxxxx 10xxxxxx这种格式.把27721对应的二进制从左到右填充XXX符号,实际上也可以从从右到左填充,于是就出现了Big-Endian,Little-Endian的术语.Big-Endian就是从左到右,Little-Endian是从右到左.
例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001,
用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。二:GBK
二:GB18030
GB18030-2005汉字
如下表所示,GB18030-2005收录了70244个汉字:
在这里插入图片描述
GB18030码位分配
GB18030编码采用单字节、双字节和四字节三种方式对字符编码。
1、单字节部分
本标准中,单字节的部分收录了GB/T 11383-1989的0x00到0x7F全部128个字符,与 ASCII 编码兼容。
2、双字节部分
第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x40 到 0xFE(不包括0x7F),与 GBK 标准兼容。本标准中,双字节的部分收录内容如下:
• GB 13000.1-1993的全部CJK统一汉字字符。
• GB 13000.1-1993的CJK兼容区挑选出来的21个汉字。
• GB 13000.1-1993中收录而GB 2312未收录的我国台湾地区使用的图形字符139个。
• GB 13000.1-1993收录的其它字符31个。
• GB 2312中的非汉字符号。
• GB 12345 的竖排标点符号19个。
• GB 2312未收录的10个小写罗马数字。
• GB 2312未收录的带音调的汉语拼音字母5个以及ɑ 和ɡ 。
• 汉字数字“〇”。
• 表意文字描述符13个。
• 对GB 13000.1-1993增补的汉字和部首/构件80个。
• 双字节编码的欧元符号。
3、四字节部分
第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x30 到 0x39,第三个字节从0x81 到 0xFE,第四个字节从 0x30 到 0x39。
本标准的四字节的部分,收录了上述双字节字符之外的,GB 13000的CJK统一汉字扩充A、CJK统一汉字扩充B和已经在GB13000中编码的我国少数民族文字的字符。
GB18030-2005最主要的变化是增加了CJK统一汉字扩充B。它还去掉了单字节编码的欧元符号0x80)。
GB18030有1611668个码位,在GB18030-2005中定义了76556个字符。随着我国汉字整理和编码研究工作的不断深入,以及国际标准ISO/IEC 10646的不断发展,GB18030所收录的字符将在新版本中增加。
4、注意

  1. [ISO / IEC 10646]现在禁止使用除UTF-8的最小长度编码以外的任何内容。 UTF-8允许多种不同的编码,但是当用于按照ISO 10646-1和10646-2(带有扩展名)编码Unicode字符时,只有最小限度的编码才是合法的。
  2. DICOM默认字符库中字符的表示形式与默认字符库,UTF-8中的[ISO / IEC 10646],[GB 18030]和[GBK]的单字节值相同。它也是7位US-ASCII编码。
  3. [GBK]字符集是[GB 18030]字符集的子集,该字符集受其一字节和两字节代码点的限制。在此子集中,[GBK]字符集遵循与[GB 18030]完全相同的编码规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值