JIS X 208 中的半角与全角表格

问题描述 投票:0回答:1

我试图理解维基百科页面上的以下解释:

ASCII 和 JISCII 标点符号(此处以黄色背景显示)可能 如果满足以下条件,请使用半角和全角表单块的替代映射: 用于将 JIS X 0208 与 ASCII 或与 JIS X 组合的编码 0201,例如 Shift JIS、EUC-JP 或 ISO 2022-JP。

在我的 ubuntu 系统上我可以验证:

$ printf "\x1b\x24\x42\x24\x22\x21\x40\n" | hexdump -C 00000000 1b 24 42 24 22 21 40 0a |.$B$"!@.| 00000008
给予:

$ printf "\x1b\x24\x42\x24\x22\x21\x40\n" | iconv -f iso-2022-jp -t utf8 あ\
我们可以使用类似以下内容验证最后一个字符是 U+FF3C FULLWIDTH REVERSE SOLIDUS:

$ printf "\x1b\x24\x42\x24\x22\x21\x40\n" | iconv -f iso-2022-jp -t utf16be | hexdump -C 00000000 30 42 ff 3c 00 0a |0B.<..| 00000006
我的问题是如何切换到“半角形式”?我的问题是关于 JIS X 208 而不是 iso-2022-jp,我想了解根据 JIS X 208 规范切换到半角的正确转义字符是什么。

character-encoding cjk iconv
1个回答
0
投票
我没想到这是可能的。半角字符通常来自 Shift JIS(和类似的)解释 JIS X 201 字符的方式。它们实际上并不是 JIS X 208 字符集的一部分。与其说是“半角模式”,不如说是“JIS X 201 模式,通常被认为是半角模式。”

JIS X 201 没有

\

(反向实线)字符。它被 
¥
(日元符号)取代。 (令 C 程序员非常沮丧......)所以我不希望有一种方法可以在 JIS X 208 中对假设的“HALFWIDTH REVERSE SOLIDUS”进行编码。并且它在 Unicode 中不存在(这些与事实)。

可以在

IBM 代码页 896 中将其编码为 0x63,或在其他一些 IBM 日语代码页中。但我没想到它会出现在 JIS X 208 中。

© www.soinside.com 2019 - 2024. All rights reserved.