gpt4 book ai didi

android - 接收外语 Json(例如俄语)Android

转载 作者:行者123 更新时间:2023-12-05 07:55:08 26 4
gpt4 key购买 nike

大家好。我正在尝试接收一些用俄语编写的 JSON 并且可能还必须接收中文,主要是在全局范围内。所以我必须在 JSON 中接收任何语言字母。

问题是当我收到 JSON 时应该看起来像

{
"file_path":"storage\/paqstorage/paq/1278/1432230404Lighthouse - копия-копия-копия.jpg",
"file_id":"376"
}

但是当我解析字符串时,它看起来像

{
"file_path":"storage\/paq\/1278\/1432230404Lighthouse - \u043a\u043e\u043f\u0438\u044f.jpg",
"file_id":"376"
}

我正在使用以下代码来解析 JSON 数据

JSONArray array = object.getJSONArray("files");
for (int i = 0; i < array.length(); i++) {
JSONObject o = array.getJSONObject(i);
stringArrayList.add(o.getString("file_path"));
}

我尝试了字符串的 UTF8ISO 编码,但没有任何帮助。他们都给我同样的值(value)。所以我的问题是,这是我的问题还是服务器部分应该已经向我发送了编码字符串?还是应该编码特定语言的字符串?

最佳答案

此类问题可能有两种情况。
1. 您的服务器端脚本文件以 Unicode 编码返回数据。
2. 只有 Logcat 以 Unicode 编码呈现。

对于 1,您需要在脚本文件中编写一个小函数 + 将文件保存为 UTF-8 编码。请注意以下代码仅适用于 PHP。

function replace_unicode_escape_sequence($match) { return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');

然后像这样调用它

preg_replace_callback('/\\\\u([0-9a-f]{4})/i', 'replace_unicode_escape_sequence', $json);

关于android - 接收外语 Json(例如俄语)Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30432239/

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