真机虚拟机不支持gb2312这种编码方式,请问程序有什么可行的办法没来解决这个问题?

zhlwwj1314 2008-01-17 02:32:01
最好具体一点
我比较菜
谢谢
...全文
131 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcl0516 2008-02-03
  • 打赏
  • 举报
回复
http://manyinjin.javaeye.com/blog/110233
lcl0516 2008-02-03
  • 打赏
  • 举报
回复

UTF8 转 GB2312的方法
private static int by2int(int b)
{
return b & 0xff;
}

public static String UTF82GB2312(String param)
{
try
{
param = new String(param.getBytes("ISO8859-1"), "UTF-8");
byte[] bytes = param.getBytes("UTF-8");
param = UTF82GB2312(bytes);
return param;
}
catch(Exception e)
{
return null;
}
}

private static String UTF82GB2312(byte buf[])
{
int len = buf.length;
StringBuffer sb = new StringBuffer(len/2);
for(int i =0; i<len;i++)
{
if(by2int(buf[i])<=0x7F) sb.append((char)buf[i]);
else if(by2int(buf[i])<=0xDF && by2int(buf[i])>=0xC0)
{
int bh = by2int(buf[i] & 0x1F);
int bl = by2int(buf[++i] & 0x3F);
bl = by2int(bh << 6 | bl);
bh = by2int(bh >> 2);
int c = bh<<8 | bl;
sb.append((char)c);
} else if(by2int(buf[i])<=0xEF && by2int(buf[i])>=0xE0){
int bh = by2int(buf[i] & 0x0F);
int bl = by2int(buf[++i] & 0x3F);
int bll = by2int(buf[++i] & 0x3F);
bh = by2int(bh << 4 | bl>>2);
bl = by2int(bl << 6 | bll);
int c = bh<<8 | bl;
//空格转换为半角
if(c==58865){
c = 32;
}
sb.append((char)c);
}
}
return sb.toString();
}
这里有UTF-8与GB2312之间的互换VC的 你可以参考一下:
http://www.vckbase.com/document/viewdoc/?id=1397
zhlwwj1314 2008-01-30
  • 打赏
  • 举报
回复
服务器是第三方公司提供的 我们只是做应用没法干预 只能去适应 现在虚拟机也不支持gb2312 请问 怎么gb2312的byte[]怎么转成utf-8的byte[] 谢谢
brant_yan 2008-01-20
  • 打赏
  • 举报
回复
如果服务器不能该。那么你就只能在客户端手动编码,转变gb3212为utf-8了。。。
不过与其这么麻烦,为什么不改服务器呢。。不懂了。。
54miracle 2008-01-18
  • 打赏
  • 举报
回复
如果服务器端的数据输入无法改变的话,应该只能是先将gb2312编码的byte[]数据转换为utf编码的byte[],然后通过指定utf-8编码来构造字符串。
zhlwwj1314 2008-01-18
  • 打赏
  • 举报
回复
现在服务器那头无法改变 就是gb2312编码方式 我这变手机虚拟器不支持gb2312 我该怎么做 是接收到的数据gb2312转UTF-8后再处理?还是做什么字符对应表?
zhlwwj1314 2008-01-18
  • 打赏
  • 举报
回复
怎么转呐?网上都查不到能用的!
getBytes(encoding) 这个encoding就不能是“gb2312”
new String的时候 也不能用这个“gb2312”
zhlwwj1314 2008-01-17
  • 打赏
  • 举报
回复
我要是能控制服务器就不来着问了
老紫竹 2008-01-17
  • 打赏
  • 举报
回复
全部换UTF-8

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧