2010년 3월 29일 월요일

Bom文字を作成してみる


ExcelがUTF-16LE BOMありにしか対応してないから、TSVファイルを
ダウンロードする時、BOM文字付きUTF-16にする。

JavaでFileWriteすると時に x-UTF-16LE-BOM を指定してやればできる。
下記のロジックは要らないが、作ってみた。   

public static String makeBomLatter() {

        String txtInHex = "feff";
        byte[] txtInByte = String2byteArr( txtInHex ) ;
        String bomLatter = new String (txtInByte);
        return bomLatter;
    }

    @SuppressWarnings( "static-access" )
    public static byte[] String2byteArr( String Result ) {
        byte[] byteRet = new byte[ Result.length() / 2 ];
        int k = 0;
        for ( int j = 0; j < ( Result.length() ); j += 2 ) {
            try {
                Integer I = new Integer( 0 );

                I = I.decode( "0x" + Result.substring( j, j + 2 ) );
                int i = I.intValue();
                if ( i > 127 )
                    i = i - 256;
                byteRet[ k ++ ] = new Integer( i ).byteValue();
            } catch ( Exception e ) {
                System.err.println( e );
            }
        }

        return byteRet;
    }//

댓글 없음:

댓글 쓰기