关于C#中JIS X 0201等字符集编解码的可用编码及支持性映射问询
嗨,我来帮你梳理C#里关于这些字符集编码的问题~
1. C#中可用于JIS X 0201及相关字符集的编码选项
在C#(.NET平台)里,你可以用下面几种编码来处理JIS X 0201(包括半角罗马字、半角假名)以及相关扩展字符集:
Shift_JIS编码:对应.NET里的ShiftJISEncoding,编码名称是shift_jis。这是日常处理日文最常用的编码之一,它天然涵盖了JIS X 0201的所有字符,还包含JIS X 0208的全角日文汉字和假名,完全支持编码解码JIS X 0201的内容。ISO-2022-JP编码:对应.NET的ISO2022JPEncoding,编码名称iso-2022-jp。这是一种基于转义序列的编码,能在不同字符集间切换,其中就包含JIS X 0201的编码模式,所以可以处理这类字符。EUC-JP编码:对应.NET的JapaneseEUCEncoding,编码名称euc-jp。它支持JIS X 0201的半角罗马字部分,但半角假名的处理需要注意——EUC-JP本身不直接包含半角假名,不过可以通过兼容方式处理,一般优先选Shift_JIS或ISO-2022-JP来处理完整的JIS X 0201字符。
2. HL7替代字符集与C#编码的支持映射表
| HL7替代字符集 | 是否支持? | C#编码 |
|---|---|---|
| ASCII | 是 | us-ascii |
| 8859/1 | 是 | iso-8859-1 |
| ISO IR14 | 是 | shift_jis、iso-2022-jp |
补充说明:ISO IR14其实就是JIS X 0201的半角罗马字字符集,.NET里没有单独的编码对应它,但shift_jis和iso-2022-jp都完整包含了该字符集的所有字符,所以用这两种编码就能完成编码解码工作。
内容的提问来源于stack exchange,提问作者Jake Aitchison




