Java高级语法笔记-字符集与中文编码
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Java高级语法笔记-字符集与中文编码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                字符集與中文編碼
ASCII: 最簡單的字符集,一共收集了幾十個字符。( 該字符集的編號:ISO/IEC 646 )
 ISO/IEC 646: 即ISO發(fā)布的第646號標準其他字符集:
 ISO 8859-1 :ISO發(fā)布的第8859號標準的第1部分,涵蓋了西歐的常用字符(德文、法文)
 
 
給定一串字節(jié)數(shù)據(jù),如果不說明它的字符集及編碼方式,我們就無法知道它代表了哪些字符。
 比如,
 byte[] data = {
 
(byte)0x61, (byte)0x62, (byte)0xD6,
(byte)0xD0, (byte)0xB9, (byte)0xFA
};
 如果知道它是GBK編碼,則我們知道它是"ab中國"
 如果不知道它的編碼,則無法確定它到底代表什么。
 
 
注意
 源文件*.java本身也有一個編碼問題但*.java在編譯之后,會統(tǒng)一轉(zhuǎn)成Unicod
 
 
代碼如下:
HelloWorld.java
package my;import java.io.UnsupportedEncodingException; import java.nio.charset.Charset;import javax.naming.ldap.UnsolicitedNotificationEvent;;public class HelloWorld {//byte[]->Stringpublic void test1() {byte[] data= {(byte)0x61,(byte)0x62,(byte)0xD6,(byte)0xD0,(byte)0XB9,(byte)0XFA};try {String s=new String(data,"GBK");System.out.println(s);}catch(UnsupportedEncodingException e) {e.printStackTrace();}}//String->byte[]public void test() {String str="中國";try {byte[]data=str.getBytes("GBK");System.out.println("data length: "+data.length);}catch(UnsupportedEncodingException e) {e.printStackTrace();}}public static void main(String[] args){ char ch1='a';char ch2='中';String str="ab中國";int length=str.length();HelloWorld t=new HelloWorld();t.test();t.test1();//檢測默認字符集Charset cs=Charset.defaultCharset();System.out.println("默認字符集:"+cs.toString());} }運行截圖如下:
 
 
總結(jié)
以上是生活随笔為你收集整理的Java高级语法笔记-字符集与中文编码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 汇编预备知识(二)
- 下一篇: C/C++轻松实现文件下载
