在做国际化处理的时候,一般是通过资源文件来指定,
在对应的中文的资源文件时候,一般是写好,然后通过
native2ascii.exe 来进行转化现在的问题是我通过程序把一段中文写进文件,并且,不是在本地[就算是在本地,写进去后,还用native2ascii.exe来,那太麻烦了]
所以现在的问题是,怎么样通过程序,实现在写进文件前的编码转化
使得和native2ascii.exe一样的效果存储的都是\u编码

解决方案 »

  1.   

    public OutputStreamWriter(OutputStream out,
                              Charset cs)设置你想要的编码
      

  2.   

    public static String ChineseToUnicode(String s) {
        String as[] = new String[s.length()];
        String unicode = "";
        for(int i = 0; i < s.length(); i++) {
            as[i] = Integer.toHexString(s.charAt(i) & 0xffff);
            unicode = unicode + "\\u" + as[i];
        }
        return unicode;
    }
      

  3.   

    实际上楼主是要向文件中写入"\uxxxx"这样的字符串,因此不是编码问题,怎么编码也解决不了楼主的问题。应该用 Integer.toHexString 方法,一个字符一个字符地处理。
      

  4.   

    native2ascii.exe '中' ->\u4e2d
    System.out.println("\\u"+Integer.toHexString('中')); ->\u4e2d
      

  5.   

    同意,
    改正:最好是用StringBuffer来处理。
    然后加上Integer.toHexString。
      

  6.   


    if (c<128) 或 if (c<256)