Android中的UTF-8与UTF-8的定义相比

问题描述:

我在Android中遇到了UTF-8的问题。我需要以UTF-8格式将字符串存储到字节[]中。Android中的UTF-8与UTF-8的定义相比

到目前为止这么好。这是我的代码,其中用户类型为EDITTEXT,这应该被存储到UTF-8格式的字节[]:如果I型例如数

idString = editId.getText().toString(); 
byte[] valueId = idString.getBytes(Charset.forName("UTF-8")); 

现在:1

它应该存储为UTF-8单元:31

,但它被存储为十进制值:49

我不明白胶水我的失败是什么,所以任何人可以帮助我吗?

谢谢

问题是十六进制和十进制值。它以一种称为ASCII表格的格式存储。数字1被存储为十进制49或十六进制31

这可以帮助你http://www.asciitable.com/

+0

呀谢谢你,帮助了一下。所以它是正确的,如果调试显示我49它存储为我的数组中的0x31?在位0011 0001? – Fab

+1

是的,0x符号显示它是一个十六进制值,而不是一个整数。您可以使用在线十六进制到整数转换工具,或者您可以直接在调试模式下查看值,发布在这里https://*.com/questions/17447013/android-studio-debugging-display-variables-as-hexadecimal –

+0

谢谢你,所有工作我只是因为调试窗口而感到困惑。 – Fab