亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

Hello Unicode —系統語言環境設置對JAVA應用的影響

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

  要害詞:linux java mutlibyte encoding locale i18n i10n
  摘要:通過2個測試程序說明系統缺省編碼方式和應用的編碼策略對字符處理的影響,選擇合適的編碼處理策略,構建更符合國際化規范的通用應用?!?br />  測試程序-1
  為了了解JAVA應用的編碼處理的機制,首先要了解操作系統對JVM缺省編碼方式的影響,因此我做了一個Env.java,用于打印顯示不同系統下JVM的屬性和系統支持的LOCALE。程序很簡單:
  /*
   * Copyright (c) 2002 chedong@bigfoot.com
   * $Id: Env.java,v 1.1 2002/07/30 09:48:12 chedong EXP $
   */
  
  import java.util.*;
  import java.text.*;
  
  /**
   * 目的:
   * 顯示環境變量和JVM的缺省屬性
   * 輸入:無
   * 輸出:
   *   1 支持的LOCALE
   *   2 JVM的缺省屬性
   */
  
  public class Env {
  /**
   * main entrance
   */
  public static void main(String[] args) {
  
    System.out.  
    //print available locales
    Locale list[] = DateFormat.getAvailableLocales();
    System.out.println("======System available locales:======== ");
    for (int i = 0; i < list.length; i++) {
      System.out.println(list[i].toString() + "/t" + list[i].getDisplayName());
    }
  
    //print JVM default properties
    System.out.println("======System property======== ");
    System.getProperties().list(System.out);
  }
  }
  最需要注重的是JVM的file.encoding屬性,這個屬性確定了JVM的缺省的編碼/解碼方式:從而影響應用中所有字節流==>字符流的解碼方式 字符流==>字節流的編碼方式。
  LINUX下的LOCALE可以通過 LANG=zh_CN; LC_ALL=zh_CN.GBK; export LANG LC_ALL 設置。locale 命令可以顯示系統當前的環境設置
  Windows的LOCALE可以通過控制面板==>區域設置 設置實現
  列表1
  結論:
  JVM的缺省編碼方式由系統的LOCALE設置確定,所以當設置成相同的LOCALE時,Linux和Windows下的缺省編碼方式是沒有區別的(可以認為cp1252=ISO-8859-1都是一樣的西文編碼方式,只包含255以下的拉丁字符),因此測試2我只列出了LINUX下LOCALE分別設置成zh_CN和en_US測試結果輸出和在WINDOWS下分別按照不同的區域設置試驗的輸出結果是一樣的。
  測試程序-2
  通過一個HelloUnicode.java程序,演示說明"Hello world 世界你好"這個字符串(16個字符)在不同缺省系統編碼方式下的處理效果。在編碼解碼的每個步驟之后,都打印出了相應字符串每個字符(charactor)的byte值,short值和所在的UNICODE區間。
  列表2
  試驗2的一些結論:
  所有的應用都是按照字節流=>字符流=>字節流方式進行的處理的:
  byte_stream ==(input decoding)==> char_stream ==output(encoding)==> byte_stream
  在JAVA字節流到字符流(或者反之)都是含有隱含的解碼處理的(缺省是按照系統缺省編碼方式);
  最早的字節流解碼過程從javac的代碼編譯就開始了,
  JAVA中間的字符character存儲單位是雙字節的UNICODE,
  結論:
  從以上2個JAVA試驗程序得出的一些結論:
  JAVA環境是基于操作系統上的一個虛擬機應用,因此,假如操作系統遵循國際化規范:JVM的缺省編碼方式可以通過修改操作系統的LOCALE設置實現。對于一個JAVA應用來說,只要將LINUX的缺省編碼方式設置成GBK,其文字編碼處理應該和中文Windows平臺上的表現是一致的。
  redhat 6.X使用linux內核的是基于glibc2.1.X,不支持中文LOCALE,因此無法通過改變LOCALE設置改變JVM的缺省編碼方式,linux內核2.4開始基于glibc.2.2.x,對中文LOCALE有了比較好的支持。
  不同的JVM對字符集的支持程度不同:比如:IBM的JVM1.3.0開始支持GB18030,SUN的JVM從1.4開始支持GB18030 正確的編碼方式不一定表示能正確的顯示,正確的顯示還要需要相應的前端顯示系統(字庫)的支持 對于Linux上的服務應用來說,只要能確認字符正確的按照指定的方式編碼就夠了.假如應用的是基于UNICODE的編碼方式處理并使用UTF8字符集做集中存儲,根據以上結論,設計一個適應多語言環境的應用,可以考慮一下處理模式:(客戶端應用或本地化應用)根據LOCALE,讓JAVA應用按照系統LOCALE的缺省的字符集設置進行處理
  Hello Unicode —系統語言環境設置對JAVA應用的影響
  參考文檔:
  Java的國際化設計
  http://java.sun.com/docs/books/tutorial/i18n/index.Html
  
  Linux 國際化本地化和中文化
  http://www.linuxforum.net/doc/i18n-new.html
  
  Linux 程序員必讀:中文化與GB18030標準
  http://www.ccidnet.com/tech/os/2001/07/31/58_2811.html
  
  Unicode FAQ
  http://www.cl.cam.ac.uk/~mgk25/unicode.html
  http://www.linuxforum.net/books/UTF-8-Unicode.html (中文版)
  
  Java 編程技術中漢字問題的分析及解決
  http://www-900.ibm.com/developerWorks/java/java_chinese/index.shtml
  
  漢字的編碼方式:
  http://www.unihan.com.cn/cjk/ana17.htm
  
  不同版本的JVM支持的編碼方式
  http://java.sun.com/j2se/1.3/docs/guide/intl/encoding.doc.html
  http://java.sun.com/j2se/1.4/docs/guide/intl/encoding.doc.html
  相關連接請點 這里

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久夜精品香蕉| 国产精品第2页| 欧美在线精品免播放器视频| 国产精品久久久久久搜索| 久久91精品国产91久久久| 亚洲天堂av网| 欧美精品久久久久久久| 麻豆国产va免费精品高清在线| 国产精品亚洲片夜色在线| 亚洲精品国产免费| 在线观看成人黄色| 成人写真视频福利网| 久久影视免费观看| 不卡在线观看电视剧完整版| 欧美激情中文字幕乱码免费| 亚洲福利在线视频| 奇米成人av国产一区二区三区| 精品香蕉在线观看视频一| 亚洲欧美一区二区三区在线| 亚洲一区二区黄| 日韩电影在线观看永久视频免费网站| 中文字幕国产亚洲2019| 成人h视频在线| 成人免费观看网址| 精品欧美一区二区三区| 亚洲性69xxxbbb| 午夜精品久久久久久99热| 一区二区三区美女xx视频| 欧美成人合集magnet| 国产色视频一区| 亚洲午夜色婷婷在线| 日韩视频在线免费| 久久视频免费在线播放| 国产伦精品一区二区三区精品视频| 日韩激情av在线免费观看| 精品激情国产视频| 国产精品一区二区三区毛片淫片| 国产精品色悠悠| 欧美日韩亚洲系列| 亚洲美女在线看| 亚洲精品国产综合久久| 欧美日韩精品二区| 国语自产精品视频在线看一大j8| 亚洲综合大片69999| 欧美国产日韩一区二区三区| 国产精品直播网红| 亚洲女人天堂网| 欧美多人乱p欧美4p久久| 亚洲精品之草原avav久久| 亚洲福利视频免费观看| 亚洲人成在线观| 国产99视频精品免视看7| 红桃视频成人在线观看| 亚洲国产福利在线| 国产欧美精品一区二区| 午夜精品久久久99热福利| 亚洲国产三级网| 日韩欧美国产网站| 久久影院中文字幕| 全亚洲最色的网站在线观看| 国产精品美女在线观看| 欧美丰满少妇xxxx| 欧美黑人极品猛少妇色xxxxx| 国产欧美精品一区二区三区介绍| 久久黄色av网站| 日韩精品免费在线观看| 欧美国产日韩在线| 亚洲热线99精品视频| 美女少妇精品视频| 亚洲国产成人91精品| 亚洲女同性videos| 国产91在线高潮白浆在线观看| 国产精品中文久久久久久久| 国产成人精品免费久久久久| 一本一本久久a久久精品综合小说| 午夜精品美女自拍福到在线| 日韩亚洲精品电影| 国产一区二区美女视频| 日韩av手机在线观看| 日韩不卡中文字幕| 国产精品久久久久久av| 亚洲国产日韩欧美在线图片| 成人黄色大片在线免费观看| 久久久久国产一区二区三区| 国产福利成人在线| 欧美一级免费视频| 欧美日韩一区二区精品| 亚洲成人中文字幕| 亚洲国产精品专区久久| 国产99久久精品一区二区 夜夜躁日日躁| 久久国产一区二区三区| 国产精品免费久久久| 国产精品国内视频| 国产精品电影在线观看| 一本色道久久综合狠狠躁篇怎么玩| 91香蕉嫩草影院入口| 精品av在线播放| 91色琪琪电影亚洲精品久久| 亚洲xxxx妇黄裸体| 欧美美女操人视频| 亚洲最大福利视频| 亚洲精选在线观看| 日韩一中文字幕| 一区二区亚洲精品国产| 国产精品久久久久久久久| 日韩欧美国产中文字幕| 国产精品视频最多的网站| 福利一区视频在线观看| 97超碰色婷婷| 国产精品高清在线观看| 欧美日韩人人澡狠狠躁视频| 亚洲欧美日韩在线高清直播| 亚洲a成v人在线观看| 日韩网站免费观看| 91亚洲精品一区二区| 在线看日韩av| 久久久97精品| 18一19gay欧美视频网站| 亚洲一区二区久久久| 亚洲欧美制服中文字幕| 国产精品网站入口| 中日韩午夜理伦电影免费| 欧美一级高清免费| 日av在线播放中文不卡| 日韩日本欧美亚洲| 欧美亚洲国产视频| 中文字幕日韩欧美精品在线观看| 欧美区二区三区| 亚洲xxxx视频| 亚洲欧美日韩天堂一区二区| 国产亚洲精品久久久优势| 色综合导航网站| 欧美精品在线第一页| 都市激情亚洲色图| 国产不卡av在线| 国产精品热视频| 97超级碰碰碰| 久久精品国产亚洲7777| 国产精品一区二区三区免费视频| 青草青草久热精品视频在线观看| 国产一区二区在线免费| 韩国日本不卡在线| 国产91精品久久久久久| 国产精品手机播放| 国产精品1234| 岛国视频午夜一区免费在线观看| 亚洲综合成人婷婷小说| 亚洲国产精品久久| 久久影视免费观看| 日韩激情视频在线| 午夜精品久久久久久久久久久久久| 91av视频在线播放| 欧美精品成人91久久久久久久| 久久久91精品国产一区不卡| 国产91精品青草社区| 中文字幕欧美日韩va免费视频| 欧美国产高跟鞋裸体秀xxxhd| 91九色精品视频| 中文字幕精品久久| 欧美国产高跟鞋裸体秀xxxhd| 精品国产电影一区| 欧美亚洲国产视频| 色琪琪综合男人的天堂aⅴ视频| 亚洲品质视频自拍网|