我目前面临一个让我发疯的问题:
以下代码段是包装部分,用于向Facebook发送请求以创建新帖子。目前,对于直接发布和未计划发布的帖子,此方法都适用。我已经添加了char[]
和chars
用于调试。
public GenericResponse createNewPost(final String accessToken, final String target, final String message)
{
char[] messageRawBytes = message.toCharArray();
int char1 = (int) messageRawBytes[0];
int char2 = (int) messageRawBytes[1];
final String URL = SystemParameters.FB_API_BASE_URL + target + "/feed?access_token=" + accessToken;
final Map<String, String> params = new TreeMap<>();
params.put("message", message);
return new PostRequest(URL, params).send();
}
每次(无论是从数据库还是直接从REST API)进入函数,表情符号都由55357
和56613
的char值表示(对于{{1}是正确的) })每次,并且字符串UTF-16
在调试器中看起来相同,之后没有其他区别。但是,从数据库中读取帖子时,Facebook仅显示message
,而直接通过REST API发布时,Facebook仅显示正确的表情符号。
我在这里监督什么?显然这似乎是某种字符集问题,但是由于字符串?
每次都具有相同的值,因此它不能做任何进一步的处理了吗?