Shift_JIS

用 2 个字节表示 JIS X 0208 汉字和假名的日文字符编码,在 Windows 上以加入 NEC 与 IBM 扩展的 cp932 形式使用。

Shift_JIS 是一种日文字符编码,拉丁字母、数字和半角片假名占 1 个字节,JIS X 0208 中的汉字和全角假名占 2 个字节。

Windows 使用的是在此基础上加入 NEC 与 IBM 扩展字符的 Windows-31J(代码页 932,即 cp932)。带圈数字“①”和汉字“髙”只存在于 cp932 中,同样的 2 个字节 81 60 在 Shift_JIS 中读作“〜”,在 cp932 中读作“~”(U+FF5E)。浏览器的编码标准 WHATWG Encoding 把 shift_jis 和 windows-31j 视为同一编码的标签。

UTF-8 是另一种方式,用 1 到 4 个字节表示世界上的所有字符,大多数汉字和假名占 3 个字节。以“写真2026”为例,2026 这部分在两者中字节相同,但“写真”在 Shift_JIS 中占 4 个字节,在 UTF-8 中占 6 个字节。因此,日文 Windows 用 cp932 写入文件名的 ZIP 若按 UTF-8 读取,文件名就会乱码。辨别与修复的方法见ZIP 文件名乱码的原因与修复方法。

相关术语

相关文章