CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

编码转换问题

楼主lingjava(ling)2001-01-08 09:40:00 在 Java / J2SE / 基础类 提问

import   java.io.*;    
   
  import   java.util.*;    
   
     
   
  public   class   gb2big5   {    
   
     
   
  --static   int   iCharNum=0;    
     
   
  --public   static   void   main(String[]   args)   {    
   
  ----System.out.println("Input   GB2312   file,   output   Big5   file.");    
   
  ----if   (args.length!=2)   {    
  --  
  ------System.err.println("Usage:   jview   gb2big5   gbfile   big5file");    
  --  
  ------System.exit(1);    
   
      ----}    
   
  ----String   inputString   =   readInput(args[0]);    
   
  ----writeOutput(inputString,args[1]);    
   
  ----System.out.println("Number   of   Characters   in   file:   "+iCharNum+".");    
   
  --}    
   
     
   
  --static   void   writeOutput(String   str,   String   strOutFile)   {    
   
  ----try   {    
   
  ------FileOutputStream   fos   =   new   FileOutputStream(strOutFile);    
  ------Writer   out   =   new   OutputStreamWriter(fos,   "Big5");   ------  
  ------out.write(str);    
  ------out.close();    
   
  ----}    
  ----catch(UnsupportedEncodingException   e){  
          --e.printStackTrace();    
  ------e.printStackTrace();    
          }  
  ----catch   (IOException   e)   {    
   
  ------e.printStackTrace();    
   
  ------e.printStackTrace();    
   
  ----}--            
  --}    
   
     
   
  --static   String   readInput(String   strInFile)   {    
   
  ----StringBuffer   buffer   =   new   StringBuffer();    
   
  ----try   {    
   
  ------FileInputStream   fis   =   new   FileInputStream(strInFile);    
   
  ------InputStreamReader   isr   =   new   InputStreamReader(fis,   "GB2312");    
   
  ------Reader   in   =   new   BufferedReader(isr);    
   
  ------int   ch;    
   
  ------while   ((ch   =   in.read())   >   -1)   {    
   
  --------iCharNum   +=   1;    
   
  --------buffer.append((char)ch);    
   
  ------}    
   
  ------in.close();    
   
  ------return   buffer.toString();    
   
  ----}    
   
  ----catch   (IOException   e)   {    
   
  ------e.printStackTrace();    
   
  ------return   null;    
   
  ----}    
   
  --}    
   
  }    
   
  运行java   gb2big5   gb.txt   big5.txt  
  可出来的big5是乱码,什么原因?   问题点数:52、回复次数:5Top

1 楼x86(大雪)回复于 2001-01-08 10:04:00 得分 26

我试了你的代码,原理上是可以的,只是有个别有问题,大概是涉及单字节的字符。  
  你的输出结果是BIG5的,当然需要使用支持BIG5的编辑器啦。我用IE看就没有问题,  
  只要选好编码就可以了。Top

2 楼robber(海盗)回复于 2001-01-08 10:10:00 得分 26

你的系统支持Big5吗?用工具看看吧!Top

3 楼lingjava(ling)回复于 2001-01-08 10:16:00 得分 0

我用IE可以切换到繁体啊Top

4 楼lingjava(ling)回复于 2001-01-08 10:44:00 得分 0

用big5码可以看http://hk.yahoo.com/之类的繁体网站,但用big5看21cn之类的GB网站看到的就是乱码  
   
  to   x86  
  怎样选好编码,我的系统中是安装了繁体字库的  
   
  to   robber  
  我的系统应该是支持big5的,因为用IE可以切换到繁体  
   
  thanks  
   
  Top

5 楼lingjava(ling)回复于 2001-01-08 17:00:00 得分 0

原来已经转换成big5码的文字了,但因为我电脑的系统内码是GBK,所以看到的是乱码,把txt文件放在IE下切换到big5后就可以正确显示了    
   
   
   
   
  Top

相关问题

  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~编码转换
  • 字符编码的转换?
  • 有关编码转换表
  • 编码转换的问题
  • java编码转换问题
  • 求救:编码转换
  • 中文编码转换
  • 编码转换的问题
  • 请问Ascii7编码的转换问题
  • 高分请教编码转换

关键词

  • b2b
  • 编码
  • 乱码
  • 系统
  • ie
  • big5
  • icharnum
  • printstacktrace
  • gb
  • 问题

得分解答快速导航

  • 帖主:lingjava
  • x86
  • robber

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo