gpt4 book ai didi

Javascript toLowerCase() 给出不同长度的非拉丁字符

转载 作者:行者123 更新时间:2023-11-28 18:34:29 26 4
gpt4 key购买 nike

为什么 JS 对大写的 i (?) 有问题,而 javascript 对大写的 ş,ö,ç,ğ,ü (Ş,Ö,Ç,Ğ,Ü),如下所述? (问题与字母位置无关。)

"İş".toLowerCase().length
3
"İŞ".toLowerCase().length
3
"iŞ".toLowerCase().length
2
"iş".toLowerCase().length
2

此外

"İ".length
1
"İ".toLowerCase().length
2
"İ".toLocaleLowerCase().length
2

对于持怀疑态度的人,这里是我复制上述代码的控制台屏幕截图:

enter image description here

和我的字符集(这是出现此问题后我检查的第一件事):

<meta charset="utf-8" />

提前致谢。

最佳答案

问题是大写字母I上方的字符。这是 javascript 中的另一个字符串值。您可以使用 .split(); 查看字符数。还要注意的另一件事是,它不仅与大写的 ı 有关,而且 á 也在这些列表中。

您应该使用String.prototype.toLocaleLowerCase()来进行特定于区域设置的大小写映射。

console.log("áş".toLocaleLowerCase().split(''));

console.log("İş".toLocaleLowerCase().split(''));

关于Javascript toLowerCase() 给出不同长度的非拉丁字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37385217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com