gpt4 book ai didi

Java String.toUpperCase()

转载 作者:行者123 更新时间:2023-12-02 09:14:57 25 4
gpt4 key购买 nike

就在前几天,我遇到了一个奇怪的错误。我必须构建一串字符。作为分隔符,我正在与之通信的主机系统使用了 char 254。无论如何,我构建了我的字符串并将其发送到主机。在主机上我收到 char 222 作为分隔符!在挠头并深入研究之后,这似乎很奇怪

十六进制:FE,二进制:11111110

正在变成

十六进制:DE,二进制:11011110

我尝试了 Locale.getDefault() 和 Locale.ENGLISH 无济于事。

是否 String.toUpperCase 的实现具有除特定硬编码字符之外的所有字符的掩码?

目前我正在使用以下方法来解决该问题:

public static String toUpperCase(String input) {

char[] chars = input.toCharArray();


for(int i = 0; i < chars.length; ++i ) {

if( chars[i] > 96 && chars[i] < 123 ) {

chars[i] &= 223;
}

}

return new String(chars);

}

我的问题是我错过了什么吗?有没有更好的方法我不知道?非常感谢!

最佳答案

Unicode 字符 254 是小写的 thorn,þ,这是冰岛语中使用的字母,大致代表“th”音。它的大写版本是字符 222,大写的 thorn Þ。您预计会发生什么?

关于Java String.toUpperCase(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18860179/

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