j2me 中文字节流 转为中文的字符 手机上运行

本人近日在做手机J2ME程序开发的时候,遇到一个汉字字节流转换成中文的问题,后来得到各个高手的指点,终于解决问题,要大力感谢各位高手,以下是我们的聊天记录,懒得整理了,呵呵

 

广州-J2ME(421340465) 09:58:24
请问ASC2的中文字节组如何转为中文的字符呢

广州-J2ME(421340465) 09:59:30
new String(cmdbyte,0,datalen)出现的是乱码,
J2ME又不支持new String(cmdbyte,"gb2312");
萧忆情(379880437) 10:00:19
你可以转为utf-8实验一下
萧忆情(379880437) 09:59:21
你看jdk的命令中有的。。
广州-J2ME(421340465) 10:00:47
new String(cmdbyte,"utf-8")这样吗
萧忆情(379880437) 10:01:13
new String(str.getBytes("iso-8859-1"),"utf-8");
萧忆情(379880437) 10:01:21
这样肯定可以转的过来。
广州-J2ME(421340465) 10:02:46
 str是指什么的呀
萧忆情(379880437) 10:02:59
你要转的字符串。
萧忆情(379880437) 10:04:31
可以了吗?
广州-J2ME(421340465) 10:04:41
中文汉字已经转换为字节数组了,我现在是要把已经是字节数组的汉字还原成中文
广州-J2ME(421340465) 10:04:45
在试
萧忆情(379880437) 10:04:52
字节数组啊。。
广州-J2ME(421340465) 10:05:10
对是,汉字是从串口发送到我的程序上
萧忆情(379880437) 10:05:14
嗯   。
萧忆情(379880437) 10:05:23

萧忆情(379880437) 10:05:26
不懂   。。。
萧忆情(379880437) 10:05:28
你的意思是?
广州-J2ME(421340465) 10:05:34
我在程序上接收后再把它转换成中文
萧忆情(379880437) 10:05:51
new String(byte[],"utf-8");
广州-J2ME(421340465) 10:06:01
哦,正在试
萧忆情(379880437) 10:06:15
那个效果应该一样的。。
萧忆情(379880437) 10:06:27
呵呵
@。。。(749560730) 10:09:46
 找工作。。。价钱便宜。。。。
萧忆情(379880437) 10:09:56
恶。。
萧忆情(379880437) 10:10:11
怎么算。。
广州-J2ME(421340465) 10:10:11
萧忆情
不行的,也不支持的
萧忆情(379880437) 10:10:23
怎么可能啊?
广州-J2ME(421340465) 10:10:25
Cmdstr=new String(cmdbyte,"utf-8");  
萧忆情(379880437) 10:10:39
我以前一直都这样转的。。
广州-J2ME(421340465) 10:10:41
汉字是从串口发送到我的程序上,我在程序上接收后再把它转换成中文
广州-J2ME(421340465) 10:11:08
就是这样
从串口发送出来的编码应该是ASC2的吧
萧忆情(379880437) 10:11:19
我知道  我以前都是那样转的  你cmdbyte是什么  。
萧忆情(379880437) 10:11:22
怎么转的。
广州-J2ME(421340465) 10:11:29
Cmdstr=new String(cmdbyte,"utf-8");
广州-J2ME(421340465) 10:11:43
cmdbyte就是从串口接收到的所有数据
广州-J2ME(421340465) 10:11:50
字节数组
萧忆情(379880437) 10:12:09
你打印一下是什么。。
萧忆情(379880437) 10:12:25
我晕  还有转不过来的
广州-J2ME(421340465) 10:12:50
是不是J2ME不支持的呀
萧忆情(379880437) 10:13:06
一般不存在那种情况。
广州-J2ME(421340465) 10:13:06
我是放到真机上运行的
广州-J2ME(421340465) 10:13:20
所以没得打印
萧忆情(379880437) 10:13:25
远程共享下?
广州-J2ME(421340465) 10:14:08
怎么共享呀,我不会哦
浪子-j2me(379880437) 10:14:36
我晕  。。
浪子-j2me(379880437) 10:14:40
那我无言了。
广州-J2ME(421340465) 10:15:20
我调试不是联机调试的
浪子-j2me(379880437) 10:15:44
我知道!!!  汗。
浪子-j2me(379880437) 10:16:02
你就直接那样转下试试
浪子-j2me(379880437) 10:16:23
new String(str.getBytes("iso-8859-1"),"utf-8");
广州-J2ME(421340465) 10:16:22
我新学的,很多不懂,所以不耻下问,呵呵,我看看先吧,看看还有那里没有做好的,再不行再请教你吧
浪子-j2me(379880437) 10:16:27
然后输出
浪子-j2me(379880437) 10:16:38
我的技术也很烂  呵呵
广州-J2ME(421340465) 10:16:40
new String(str.getBytes("iso-8859-1"),"utf-8");
这个是可以的,
浪子-j2me(379880437) 10:16:50
那?
广州-J2ME(421340465) 10:17:00
汉字是从串口发送到我的程序上,我在程序上接收后再把它转换成中文
浪子-j2me(379880437) 10:17:17
str.getBytes("iso-8859-1")转的字节数组就不行了?
广州-J2ME(421340465) 10:17:55
不行,刚才试过了,我再看看吧,再确认一下
广州-J2ME(421340465) 10:18:05
我也觉得奇怪的
浪子-j2me(379880437) 10:18:17
一般情况下不存在。。
草堂骑士→java(67417493) 10:30:19
 ByteArrayOutputStream bos1 = new ByteArrayOutputStream();
        DataOutputStream dos1 = new DataOutputStream(
          bos1);
        dos1.writeUTF(s1);
        byte b2[] = bos1.toByteArray();
        rs.setRecord(2, b2, 0, b2.length);

 

 


草堂骑士→java(67417493) 10:30:39
你是从流里读出来是吗?
草堂骑士→java(67417493) 10:30:43
上面那个
浪子-j2me(379880437) 10:30:48
呵呵
草堂骑士→java(67417493) 10:30:48
先保存
广州-J2ME(421340465) 10:30:48
是的
草堂骑士→java(67417493) 10:31:00
看到了吗?
草堂骑士→java(67417493) 10:31:19
你在流里读出来要是保存的话就用这个保存
草堂骑士→java(67417493) 10:31:40
如果不保存,就直接用writeUTF就成
浪子-j2me(379880437) 10:31:42
问个j2me的程不。。
广州-J2ME(421340465) 10:31:44
看到了,但我还要把它转换成中文
草堂骑士→java(67417493) 10:32:00
我给你转换的代码
广州-J2ME(421340465) 10:32:22
好的,那谢谢了,
草堂骑士→java(67417493) 10:32:29
byte utfBytes[] = rs.getRecord(9);
    DataInputStream dis = new DataInputStream(
      new ByteArrayInputStream(utfBytes));
    String content = dis.readUTF();

 

 


草堂骑士→java(67417493) 10:32:42
这个是从rms读出来的
草堂骑士→java(67417493) 10:32:46
刚才是保存的
草堂骑士→java(67417493) 10:33:10
在手机上,如果用保存的话就得写一次,读一次
广州-J2ME(421340465) 10:33:17

广州-J2ME(421340465) 10:33:23
为什么要先保存后再转换呢
草堂骑士→java(67417493) 10:33:30
要是不保存,直接读取直接用那个读取就成了
草堂骑士→java(67417493) 10:33:44
在手机上只支持UTF-8
草堂骑士→java(67417493) 10:33:52
不支持转换
草堂骑士→java(67417493) 10:34:13
你传过来的都是二进制,读出来都是乱码
广州-J2ME(421340465) 10:34:24
哦,难怪
草堂骑士→java(67417493) 10:34:32
我以前研究了半天才弄懂的
草堂骑士→java(67417493) 10:35:07
近他YD的破表怎么不出来YD了!
草堂骑士→java(67417493) 10:35:16
会了就去做吧
广州-J2ME(421340465) 10:35:25
哗噻,NB死了,好的
广州-J2ME(421340465) 10:35:45
我去试试,谢啦
草堂骑士→java(67417493) 10:35:51
不客气
草堂骑士→java(67417493) 10:36:06
我也是一知半解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值