gpt4 book ai didi

java - Android JSON 解析英镑符号会出现什么?

转载 作者:行者123 更新时间:2023-12-01 05:16:31 25 4
gpt4 key购买 nike

我有一个 JSON 文件,其中包含井号。该 json 是从临时存储在手机上的文件中提取的。它将来自服务器,但目前我只是将其存储在手机上。我将 JSON 文件转换为输入流,并使用一种方法将其转换为这样的字符串

Resources res = getResources();
String sJsonVariables = iStream_to_String(res
.openRawResource(R.raw.widgvariables));

iStream_to_String方法是这样的

public String iStream_to_String(InputStream is) {
BufferedReader rd = new BufferedReader(new InputStreamReader(is), 4096);
String line;
StringBuilder sb = new StringBuilder();
try {
while ((line = rd.readLine()) != null) {
sb.append(line);
}
rd.close();

} catch (IOException e) {
e.printStackTrace();
}
String contentOfMyInputStream = sb.toString();
return contentOfMyInputStream;
}

我尝试使用 Log.v 打印 json 来测试它是否打印正常。除了英镑符号之外,所有内容都打印得很好。我尝试了几种不同的编码方式,如下所示

byte []b = sJsonVariables.getBytes();

String s1 = new String(b, "UTF-8");
String s2 = new String(b, "ASCII");
String s3 = new String(b, "Cp1252");
String s4 = new String(b, "ISO8859_1");

但是它们都不会打印出英镑符号,它要么显示为黑色问号,要么显示为其他奇怪的符号。有谁知道我做错了什么,以及如何让这个符号正确打印出来?

最佳答案

也可以将其与 try catch byte []b = sJsonVariables.getBytes("UTF8"); 和 String 与 String s3 = new String(b, "Cp1252") 一起使用;

关于java - Android JSON 解析英镑符号会出现什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11133851/

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