发布网友 发布时间:2022-04-23 13:49
共4个回答
热心网友 时间:2023-07-08 14:15
跟编码有关。试试有结论再告诉你。
1、跟Eclipse的编码设定有关。具体路径:Windows->Preferences->General->Workspace中有一个设定项为“Text file encoding”,这个选项指定了保存源码时使用的编码方式。我看了一下在Window下选项为Default(GBK),Linux下该选项为Default(UTF-8),编码方式的不同,决定了“我是中国人”转换成Byte数据不同。这就是为什么在Window下和在Linux下不同结果的原因。
2、在Linux环境下,通过修改上述设定项为Other: GBK,可以得到和Window下的同样效果。修改后的设定截图如下:
热心网友 时间:2023-07-08 14:15
可以试试先把str拆为byte数组,然后使用String的构造方法重新编码:热心网友 时间:2023-07-08 14:16
试试用subString(2,3);热心网友 时间:2023-07-08 14:16
用subString吧,charAt获得一个字节,中文一个字多少个字节?追问subString 还是乱码啊,试过了