Javascript indexOf/charAt 不适用于日语半角片假名

Javascript indexOf/charAt not working for Japanese half-width Katakana

提问人:code đờ 提问时间:11/2/2023 更新时间:11/2/2023 访问量:40

问:

在我的代码库中,我有这段代码,令人惊讶的是它返回 1:

'トゲ'.indexOf('ケ') // Returns 1

该字符似乎没有出现在字符串中。トゲ

我还尝试运行以下代码:

'トゲ'.charAt(1)  // Returns `ケ`

令我惊讶的是,它又回来了.

你能解释一下为什么上面的代码返回 1 和 吗?谢谢!

JavaScript 字符串 索引 cjk charat

评论


答:

2赞 deceze 11/2/2023 #1

字符串由三个字符组成:ト、ケ 和 ゙。 没有专用的半角字符,您将始终使用常规的半角字符并为其添加半角浊音标记,该标记将呈现为组合字形 ゲ。

请注意,有一个专用的全角ゲ片假名字母GE U+30B2。