Shift_JIS 中的反斜杠和波浪字符是否有正确的编码?
Are there correct encodings for the backslash and tilde characters in Shift_JIS?
或者这两个字符根本不存在于Shift_JIS中?
Shift_JIS 字符编码方案中的前 128 个字符与 ASCII 匹配,除了两个:0x5C 是日元符号 (¥
) 而不是反斜杠,0x7E 是上划线 (‾
) 而不是波浪号。
虽然有很多关于 ¥
和 ‾
如何接管 \
和 ~
的明确信息,但我无法找到任何明确的说明\
和 ~
是否根本不存在于 Shift_JIS 中,或者是否有替代(可能是多字节)编码来处理这两个移位的 ASCII 字符。
当我尝试使用 node-iconv 对 \
或 ~
进行编码时,它会抛出一个错误。
iconv-lite 将 ¥
和 \
编码为 0x5C,将 ‾
和 ~
编码为 0x7E。解码时,iconv-lite 目前(不幸的是)将 0x5C 解码为 \
,将 0x7E 解码为 ~
,等待对错误报告的响应。
Shift_JIS 的字符集在 JIS(日本工业标准)中定义。
字符编码Shift_JIS半角字符集使用JIS X 0201,全角字符集使用JIS X 0208。
问题中的 \
和 ~
表示 ISO/IEC 8859-1(Latin-1) 中的半角反斜杠和波浪线,对吗? JIS X 0201(半角字符集)不包含这些字符(参见 https://en.wikipedia.org/wiki/JIS_X_0201)。
所以答案是,\
和 ~
都不存在于 Shift_JIS。
FYR,JIS X 0208 包含全角反斜杠(FULLWIDTH REVERSE SOLIDUS,Unicode 中的 U+FF3C)。 JIS X 0208 不包含全角波浪线,但 Shift_JIS 等同于 Windows(Microsoft 代码页 932)包含全角波浪线(FULLWIDTH TILDE,Unicode 中的 U+FF5E)。
或者这两个字符根本不存在于Shift_JIS中?
Shift_JIS 字符编码方案中的前 128 个字符与 ASCII 匹配,除了两个:0x5C 是日元符号 (¥
) 而不是反斜杠,0x7E 是上划线 (‾
) 而不是波浪号。
虽然有很多关于 ¥
和 ‾
如何接管 \
和 ~
的明确信息,但我无法找到任何明确的说明\
和 ~
是否根本不存在于 Shift_JIS 中,或者是否有替代(可能是多字节)编码来处理这两个移位的 ASCII 字符。
当我尝试使用 node-iconv 对 \
或 ~
进行编码时,它会抛出一个错误。
iconv-lite 将 ¥
和 \
编码为 0x5C,将 ‾
和 ~
编码为 0x7E。解码时,iconv-lite 目前(不幸的是)将 0x5C 解码为 \
,将 0x7E 解码为 ~
,等待对错误报告的响应。
Shift_JIS 的字符集在 JIS(日本工业标准)中定义。
字符编码Shift_JIS半角字符集使用JIS X 0201,全角字符集使用JIS X 0208。
问题中的\
和 ~
表示 ISO/IEC 8859-1(Latin-1) 中的半角反斜杠和波浪线,对吗? JIS X 0201(半角字符集)不包含这些字符(参见 https://en.wikipedia.org/wiki/JIS_X_0201)。
所以答案是,\
和 ~
都不存在于 Shift_JIS。
FYR,JIS X 0208 包含全角反斜杠(FULLWIDTH REVERSE SOLIDUS,Unicode 中的 U+FF3C)。 JIS X 0208 不包含全角波浪线,但 Shift_JIS 等同于 Windows(Microsoft 代码页 932)包含全角波浪线(FULLWIDTH TILDE,Unicode 中的 U+FF5E)。