Google App引擎十六进制解码问题
我在解码十六进制字符串值到字符串转换时遇到问题。
如果输入是:
687474703a2f2f7777772e676f6f676c652e6c6b2f
这是我的解码逻辑:
private static String hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i+1), 16));
}
return new String(data);
}
这个可以与任何其他java应用程序一起正常工作,但对于Google App引擎来说这不起作用。
有谁知道为什么会发生这种情况?
I have issue with decode Hex String value value to String conversion.
If Input is :
687474703a2f2f7777772e676f6f676c652e6c6b2f
Here is my decode logic:
private static String hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i+1), 16));
}
return new String(data);
}
this one work fine with Any other java application, but For Google App engine this doesn't work.
Anyone know why this happened?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
App Engine 的默认编码可能不是您所期望的。当您从数据字节数组构造最终字符串时,请传递正确的编码(UTF-8、UTF-16 等)。
App Engine's default encoding might not be what you expect. When you construct the final String from your data byte array, pass the correct encoding (UTF-8, UTF-16, etc).