<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 262,  comments - 221,  trackbacks - 0
    package example.encoding;

    /**
     * The Class ChineseValidator.
     
    */

    public class CharacterValueConveter {

        
    /**
         * The main method.
         * 
         * 
    @param args the arguments
         
    */

        
    public static void main(String args[]) {
            CharacterValueConveter conveter 
    = new CharacterValueConveter();
            conveter.testConvertion(
    "中文");
        }


        
    /**
         * Test convertion.
         * 
         * 
    @param content the content
         
    */

        
    public void testConvertion(String content) {
            
    byte[] bytes = content.getBytes();
            
            System.out.println(
    "Original String : " + content);
            System.out.println();
            
            
    // Get bytes array
            System.out.println("Convert string to bytes array : ");
            
    for (int i = 0; i < bytes.length; i++{
                System.out.println(
    " byte[" + i + "]=" + bytes[i]);
            }

            System.out.println();

            
    // Get each character and unicode
            System.out.println("Start to convert by character: " + "\n");
            
    for (int j = 0; j < content.length(); j++{
                
    char c = content.charAt(j);
                printAllValue(c);
            }

        }


        
    /**
         * Prints the all value.
         * 
         * 
    @param c the c
         
    */

        
    public void printAllValue(char c) {

            
    byte b = (byte) c;
            
    int i = (int) c;
            
    short s = (short) c;
            String binaryString 
    = Integer.toBinaryString(i);
            String hexString 
    = Integer.toHexString(i);

            StringBuffer output 
    = new StringBuffer();
            
    // Base value
            output.append("Character : ").append(c).append("\n");
            output.append(
    " byte value : ").append(b).append("\n");
            output.append(
    " int value : ").append(i).append("\n");
            output.append(
    " short value : ").append(s).append("\n");
            
            
    // Hex value and binary value
            output.append(" hex value :").append(hexString).append("\n");
            output.append(
    " binary value : ").append(binaryString).append("\n");
            
            
    // Unicode value in java file & web page with decimal encoding
            output.append(" unicode value (Base 10): ");
            output.append(
    "\\u").append(i).append(";").append("\n");
            
            output.append(
    " unicode value (Base 10 in web page): ");
            output.append(
    "&#").append(i).append(";").append("\n");
            
            
    // Unicode value in java file & web page with hexadecimal encoding
            output.append(" unicode value (Base 16): ");
            output.append(
    "\\u").append(hexString).append(";").append("\n");
            
            output.append(
    " unicode value (Base 16 in web page): ");
            output.append(
    "&#").append(hexString).append(";").append("\n");

            System.out.println(output.toString());
        }


    }

    最終的測試結(jié)果如下:
    Original String : 中文

    Convert string to bytes array : 
     byte
    [0]=-42
     byte
    [1]=-48
     byte
    [2]=-50
     byte
    [3]=-60

    Start to convert by character: 

    Character : 中
     byte value : 
    45
     int value : 
    20013
     short value : 
    20013
     hex value :4e2d
     binary value : 
    100111000101101
     unicode value (Base 
    10): \u20013;
     unicode value (Base 10 in web page): &#20013;
     unicode value (Base 16): \u4e2d;
     unicode value (Base 16 in web page): e2d;

    Character : 文
     byte value : -
    121
     int value : 
    25991
     short value : 
    25991
     hex value :
    6587
     binary value : 
    110010110000111
     unicode value (Base 
    10): \u25991;
     unicode value (Base 10 in web page): &#25991;
     unicode value (Base 16): \u6587;
     unicode value (Base 16 in web page): &#6587;

    可以看到在Java中,字符的unicode有兩種表示顯示:一種是10進(jìn)制形式,一種是16進(jìn)制形式。它們可以分別通過:int i = (int)(string.charAt(i))和Integer.toHexString(i);獲得。而且在java文件和Web頁面,同一個unicode的表示形式是不同。web頁面需要用&#進(jìn)行轉(zhuǎn)義,在java文件中則使用\u進(jìn)行轉(zhuǎn)義。


    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2010-02-23 16:48 Paul Lin 閱讀(2126) 評論(2)  編輯  收藏 所屬分類: J2SE


    FeedBack:
    # re: 【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
    2010-02-24 05:23 | tbw
    學(xué)習(xí)了。。。。  回復(fù)  更多評論
      
    # re: 【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
    2010-02-24 14:22 | 咖啡妝
    期望更深入的講解  回復(fù)  更多評論
      
    <2010年2月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28123456
    78910111213

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點(diǎn)博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久亚洲av无码精品浪潮| 免费无码一区二区三区| 中国一级全黄的免费观看| 热久久这里是精品6免费观看| 亚洲一级特黄大片在线观看| 久久精品国产亚洲av天美18 | 青青青国产在线观看免费网站| 亚洲精品国产精品国自产网站| 日本免费一区二区三区最新 | 国产AV无码专区亚洲AV手机麻豆| 在线观看免费无码专区| 日韩一区二区在线免费观看| 亚洲精品9999久久久久无码| 2022中文字字幕久亚洲| 免费在线观看一区| 无码精品一区二区三区免费视频 | 免费h成人黄漫画嘿咻破解版| 日韩在线观看视频免费| 亚洲av无码一区二区三区不卡 | 日本人成在线视频免费播放| 亚洲国产综合人成综合网站| 亚洲精品在线免费观看| 日韩av无码免费播放| 亚洲AV永久纯肉无码精品动漫 | 亚洲尹人九九大色香蕉网站| 无码免费午夜福利片在线| 一级免费黄色毛片| 四虎www成人影院免费观看| 暖暖免费日本在线中文| 日产久久强奸免费的看| 成在线人直播免费视频| 水蜜桃视频在线观看免费| 亚洲AV无码国产一区二区三区| 77777亚洲午夜久久多喷| 亚洲AV无码一区二区三区牛牛| 亚洲精品美女久久久久| 亚洲精品伊人久久久久| 综合偷自拍亚洲乱中文字幕| 特级毛片全部免费播放a一级| 亚洲精品无码专区| 免费国产怡红院在线观看|