日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)java → native2ascii.exe詳細使用方法、native2ascii轉(zhuǎn)換示例

      native2ascii.exe詳細使用方法、native2ascii轉(zhuǎn)換示例

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2014/2/16 9:28:47字體大。A-A+

      作者:西西點擊:1468次評論:4次標簽: 轉(zhuǎn)換

      • 類型:編程輔助大。63KB語言:中文 評分:10.0
      • 標簽:
      立即下載

      native2ascii是sun java sdk提供的一個轉(zhuǎn)碼工具, 用來將別的文本類文件(比如 *.txt, *.ini, *.properties, *.java 等等)編碼轉(zhuǎn)為Unicode編碼。

      1. 如何獲取 native2ascii.exe?

      安裝了jdk后,假如你是在windows上安裝,那么在jdk的安裝目錄下,會有一個bin目錄, 該目錄下就有我們所需要的native2ascii.exe 工具。

      2. native2ascii.exe使用方法:

      java轉(zhuǎn)碼工具native2ascii
      10.0
      類別: 編程輔助    大。20KB    語言: 中文
      查看詳細信息 >>

      命令的語法格式:

      native2ascii -[options] [inputfile [outputfile]]

        說明:

        -[options]:表示命令開關(guān),有兩個選項可供選擇

        -reverse:將Unicode編碼轉(zhuǎn)為本地或者指定編碼,不指定編碼情況下,將轉(zhuǎn)為本地編碼。

        -encoding encoding_name:轉(zhuǎn)換為指定編碼,encoding_name為編碼名稱。

         [inputfile [outputfile]]

         inputfile:表示輸入文件全名。

         outputfile:輸出文件名。如果缺少此參數(shù),將輸出到控制臺。

      舉例: 把需要進行國際化的文件(如下圖)拷貝到 C:\Program Files\Java\jdk1.6.0_31\bin 目錄下, 應用native2ascii.exe工具進行轉(zhuǎn)碼。

      通過cmd命令進入DOS命令窗口進行如下操作:

      通過native2ascii命令轉(zhuǎn)碼成功后,如下圖:

      備注:native2ascii.exe是一個應用比較簡單的轉(zhuǎn)碼工具,并且轉(zhuǎn)碼是可逆的。

      試試如下命令:

      native2ascii -reverse  new.txt   yan.txt

      結(jié)果:

      native2ascii -encoding gbk  old.txt   new.txt

      結(jié)果:

      java代碼實現(xiàn)的jdk工具native2ascii.exe

      分享個java實現(xiàn)的native2ascii.exe的轉(zhuǎn)換工具,很有用。

      package com.zuidaima;

      /**

       * native2ascii.exe Java code implementation.

       * 

       * @author

       * @version 1.0

       */

      public class Native2AsciiUtils {


        /**

         * prefix of ascii string of native character

         */

        private static String PREFIX = "\\u";


        /**

         * Native to ascii string. It's same as execut native2ascii.exe.

         * 

         * @param str

         *            native string

         * @return ascii string

         */

        public static String native2Ascii(String str) {

          char[] chars = str.toCharArray();

          StringBuilder sb = new StringBuilder();

          for (int i = 0; i < chars.length; i++) {

            sb.append(char2Ascii(chars[i]));

          }

          return sb.toString();

        }


        /**

         * Native character to ascii string.

         * 

         * @param c

         *            native character

         * @return ascii string

         */

        private static String char2Ascii(char c) {

          if (c > 255) {

            StringBuilder sb = new StringBuilder();

            sb.append(PREFIX);

            int code = (c >> 8);

            String tmp = Integer.toHexString(code);

            if (tmp.length() == 1) {

              sb.append("0");

            }

            sb.append(tmp);

            code = (c & 0xFF);

            tmp = Integer.toHexString(code);

            if (tmp.length() == 1) {

              sb.append("0");

            }

            sb.append(tmp);

            return sb.toString();

          } else {

            return Character.toString(c);

          }

        }


        /**

         * Ascii to native string. It's same as execut native2ascii.exe -reverse.

         * 

         * @param str

         *            ascii string

         * @return native string

         */

        public static String ascii2Native(String str) {

          StringBuilder sb = new StringBuilder();

          int begin = 0;

          int index = str.indexOf(PREFIX);

          while (index != -1) {

            sb.append(str.substring(begin, index));

            sb.append(ascii2Char(str.substring(index, index + 6)));

            begin = index + 6;

            index = str.indexOf(PREFIX, begin);

          }

          sb.append(str.substring(begin));

          return sb.toString();

        }


        /**

         * Ascii to native character.

         * 

         * @param str

         *            ascii string

         * @return native character

         */

        private static char ascii2Char(String str) {

          if (str.length() != 6) {

            throw new IllegalArgumentException(

                "Ascii string of a native character must be 6 character.");

          }

          if (!PREFIX.equals(str.substring(0, 2))) {

            throw new IllegalArgumentException(

                "Ascii string of a native character must start with \"\\u\".");

          }

          String tmp = str.substring(2, 4);

          int code = Integer.parseInt(tmp, 16) << 8;

          tmp = str.substring(4, 6);

          code += Integer.parseInt(tmp, 16);

          return (char) code;

        }


        public static void main(String[] args) {

          String uni = "\u5185\u5bb9ID\u4e0d\u80fd\u4e3a\u7a7a";

          System.out.println(ascii2Native(uni));

        }


      }

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(4)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)