C#下的全角字符

占帖做笔记


.Net中所有全角字符的集合

    Shift_JIS: 0x0 ~ 0x80, 0xa0 , 0xa1 ~ 0xdf , 0xfd ~ 0xff
    Unicode : 0x0 ~ 0x80, 0xf8f0, 0xff61 ~ 0xff9f, 0xf8f1 ~ 0xf8f3

Shift_JIS


  Shift_JIS是一个日本电脑系统常用的编码表。它能容纳全形及半形拉丁字母、平假名、片假名、符号及日语汉字。

它被命名为Shift_JIS的原因,是它在放置全形字符时,要避开原本在0xA1-0xDF放置的半角假名字符。

在微软及IBM的日语电脑系统中,即使用了这个编码表。这个编码表称为CP932。



字节结构

以下字元在Shift_JIS使用一个字节来表示。

ASCII字符 (0x20-0x7E),但“/”被“¥”取代
ASCII 控制字符 (0x00-0x1F、0x7F)
JIS X 0201标准内的半角标点及片假名(0xA1-0xDF)
在部分操作系统中,0xA0用来放置“不换行空格”。

以下字元在Shift_JIS使用两个字节来表示。

JIS X 0208字集的所有字符
“第一位字节”使用0x81-0x9F、0xE0-0xEF (共47个)
“第二位字节”使用0x40-0x7E、0x80-0xFC (共188个)
使用者定义区
“第一位字节”使用0xF0-0xFC (共47个)
“第二位字节”使用0x40-0x7E、0x80-0xFC (共188个)

在Shift_JIS编码表中,并未使用0xFD、0xFE及0xFF。

微软IBM的日语电脑系统中,在0xFA、0xFB及0xFC的两字节区域,加入了388个JIS X 0208没有收录的符号和汉字。

Shift_JIS编码表

Shift_JIS
  0123456789ABCDEF
00 NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI
10 DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS
20 SP!"#$%&'()*+,-./
30 0123456789:;<=>?
40 @ABCDEFGHIJKLMNO
50 PQRSTUVWXYZ[¥]^_
60 `abcdefghijklmno
70 pqrstuvwxyz{|}~DEL
80                 
90                 
A0  
B0 ソ
C0 
D0 
E0                 
F0                 

上图粉红色为控制字符;浅蓝色为JIS X 0201一字节符号使用范围;紫色为JIS X 0208两字节全形符号及汉字使用范围

 

JIS转换方法

由JIS X 0208转换至Shift_JIS的方法:

33 /le j_1 /le 96 /Rightarrow s_1 = /frac{j_1 + 1}{2} + 112
97 /le j_1 /le 126 /Rightarrow s_1 = /frac{j_1 + 1}{2} + 176
j1奇数 /Rightarrow s_2 = j_2 + 31 + /operatorname{trunc}/left( /frac{j_2}{95} /right)
j1偶数 /Rightarrow s_2 = j_2 + 126
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值