<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)博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲同性男gay网站在线观看| 亚洲伊人久久大香线蕉综合图片| 久久精品国产亚洲AV高清热| 成人黄网站片免费视频| 亚洲人成影院在线观看| 1000部拍拍拍18勿入免费凤凰福利| 亚洲精品午夜无码专区| 三年片免费观看大全国语| 亚洲精品无码国产| 国产羞羞的视频在线观看免费| 亚洲国产精品SSS在线观看AV| 精品免费tv久久久久久久| 亚洲一区综合在线播放| 青草草色A免费观看在线| 亚洲入口无毒网址你懂的| 在线免费一区二区| 免费毛片毛片网址| 亚洲乱色熟女一区二区三区丝袜 | 国产免费AV片在线观看| 亚洲av日韩av无码黑人| 色老头永久免费网站| 亚洲精品无播放器在线播放| 国产做床爱无遮挡免费视频| 久久精品成人免费国产片小草| 亚洲伦理一区二区| 精品熟女少妇AV免费观看| 黄网站在线播放视频免费观看| 亚洲精品成人网站在线观看| 中文免费观看视频网站| 亚洲国产成人AV网站| 日韩亚洲一区二区三区| 在线视频观看免费视频18| 成人嫩草影院免费观看| 亚洲人成网站影音先锋播放| 天天干在线免费视频| 中国一级特黄高清免费的大片中国一级黄色片 | 亚洲w码欧洲s码免费 | 最新久久免费视频| 亚洲综合校园春色| 国产亚洲美女精品久久久2020| 亚洲免费视频播放|