国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于java中字符編碼的一點心得,可能對初學者有點幫助

2019-11-18 13:51:55
字體:
來源:轉載
供稿:網友

  這是張孝祥老師的java就業培訓視頻教程里面的一道題目(有所變動):
編寫下面的程序代碼,分析和觀察程序的運行結果:

import java.io.*;
public class TestCodeIO {
      public static void main(String[] args) throws Exception{
            InputStreamReader isr = new InputStreamReader(System.in,"iso8859-1");
            BufferedReader br = new BufferedReader (isr);
            String strLine = br.readLine();
            br.close();
            isr.close();
            System.out.PRintln(strLine);
      } 
}
運行程序后,輸入“中國”兩個字,輸出結果為 ???ú
請按照下面兩種方法修改上述程序,是輸入的中文能夠正常輸出
1。修改程序中的語句
              InputStreamReader isr = new InputStreamReader(System.in,"iso8859-1");
2。不修改上面的語句,修改下面的語句
              System.out.println(strLine);


第一種該法很簡單,只要改成下面這樣就可以了,這里不具體討論
            InputStreamReader isr = new InputStreamReader(System.in,"gb2312");


這里我要具體討論的是第二種該法怎么改

起初我是這樣改的
          System.out.println(new String (strLine.getBytes(),"iso8859-1"));
輸入“中國”后輸出的結果雖然不是上面所述的亂碼,但是還是亂碼,顯然這種該法是不正確的!

這里我要感謝 軟件民工  告訴我的正確改法,使我恍然大悟
           System.out.println(new String (strLine.getBytes("iso8859-1")));

這兩種改法究竟有什么區別呢?為了方便大家閱讀,我先把正確和錯誤的改法帖出來:
import java.io.*;
     public class TestCodeIO {
           public static void main(String[] args) throws Exception{
                 InputStreamReader isr = new InputStreamReader(System.in,"iso8859-1");

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通城县| 赣州市| 栾川县| 堆龙德庆县| 皋兰县| 成都市| 新蔡县| 黄石市| 太白县| 墨玉县| 得荣县| 唐海县| 咸宁市| 南通市| 涪陵区| 兴宁市| 桑日县| 东莞市| 宿松县| 台中市| 闽侯县| 江达县| 蚌埠市| 贵州省| 巨鹿县| 徐州市| 黄石市| 杨浦区| 惠州市| 莱西市| 海林市| 佳木斯市| 泰顺县| 齐河县| 晋江市| 积石山| 双桥区| 两当县| 南郑县| 正镶白旗| 威远县|