有关JAVA中编码转换问题 我的问题具体是这样的,在通信中客户端发来数据包,经解析后把数据内容显示在界面上(界面是用JAVA SWING做的),也就是数据要显示在一个JTABLE里,而用户可以根据编码集来选择以哪种形式来显示,如EBCDIK,KEIS,JIS8,SJIS,请问,我应该如何来处理呢,如何来转换编码集呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //假设原始数据编码为“EBCDIK”byte[] rowData;//这是客户端原始数据,假设已经赋好值了String str = new String(rowData,"EBCDIK");//转换成字符串将str显示到JTable;如果原始数据编码为“KEIS”,那么把new String()中的第二个参数改为"KEIS";JIS8、SJIS也一样; for (int i = 0; i < str.length(); i++) { int j = str.charAt(i); System.out.println("j:"+j); if(j<256 && j>-1){ int temp = j + 65248; if (temp > 0) ret += (char) temp; else ret += (char) j; }else ret += (char) j; } to shengyh(阿辉) :你能告诉我你的这段代码是什么作用吗? 谢谢 请教大家一个编程问题:给分啊 用JavaServerSocket开发多人联机棋牌游戏服务器端,大概能撑多少人? 字符串拼组 JTabbedPane的选项卡如何居中 菜鸟的问题 有没有获取字符的unicode二进制的函数?如:'国',取得1111000011110000 请问各位大侠,有哪些事件处理的方式? 泪奔,求解啊,郁闷极了... 在JAVA应用程序中如何使用cookies(读取、保存)? 用JAVA编写一个邮件程序,要能收能发能开用户 java新手提问:请问如何从命令行里读入一个int型数据 一个关于Static的问题,讨论static的具体用法
//假设原始数据编码为“EBCDIK”
byte[] rowData;//这是客户端原始数据,假设已经赋好值了
String str = new String(rowData,"EBCDIK");//转换成字符串
将str显示到JTable;如果原始数据编码为“KEIS”,那么把new String()中的第二个参数改为"KEIS";
JIS8、SJIS也一样;
int j = str.charAt(i);
System.out.println("j:"+j);
if(j<256 && j>-1){ int temp = j + 65248;
if (temp > 0)
ret += (char) temp;
else
ret += (char) j;
}else
ret += (char) j;
}
你能告诉我你的这段代码是什么作用吗? 谢谢