JAVA实现整句汉字拆分、转换为ASCII

本文来自:http://blog.csdn.net/hellogv/ ,转载必须注明出处!

大家都知道,一个汉字等于两个byte的大小。二进制数据通过网络传输时,如果两个byte都超过128则会合并成一个Unicode(汉字)字符,本文的代码主要实现的功能是:把这些汉字拆分为byte,然后重新变为ASCII类型的字符串。
  1. publicstaticStringChineseToASCII(byte[]rec){//从字节读取内容
  2. ByteArrayInputStreambais=newByteArrayInputStream(rec);
  3. DataInputStreamdis=newDataInputStream(bais);
  4. StringBTS=null;
  5. try{
  6. BTS=newString(rec,"ISO8859-1");//转换编码
  7. bais.close();
  8. dis.close();
  9. }catch(Exceptione){
  10. e.printStackTrace();
  11. }
  12. returnBTS;
  13. }
  14. /**
  15. *@paramargsthecommandlinearguments
  16. */
  17. publicstaticvoidmain(String[]args){
  18. Stringsource="一二三四五六七八九十";
  19. System.out.println(source.length());
  20. Stringtarget=ChineseToASCII(source.getBytes());
  21. System.out.println(target);
  22. System.out.println(target.length());
  23. }
结果是:
compile:
run:
10
???????????ù??°????? ASCII字符如果超过128,则会显示为?,但是其本身的值不变
20
BUILD SUCCESSFUL (total time: 1 second)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值