Java_iso8859 の変更点 - アールメカブ

アールメカブ


Java_iso8859 の変更点


[[Java_FileReader]]
#contents
* ISO-8859-1 文字コード [#r2f98744]

ア) Emacs 起動直後に \C-x RETURN f として文字コードを iso-8859-1 として,あるいは新規ファイルを開いて,その直後に \C-x RETURN f として文字コードをiso-8859-1 と文字コードを指定し,次にファイルを \C-x RETURN l   \C-x RETURN \C-\ としてファイルを作成した場合エスケープシークエンスの

    0x1b 0x2d 0x41(開始時) 

    0x1b 0x24 0x29 0x42 (変更時)

は現れない。

イ) 最初に文字コードの設定をせずにファイルを開き,その後 \C-x RETURN l   \C-x RETURN \C-\ として独語を入力した場合エスケープシークエンス異なる。

例えば A O U a o u s . を一文字ごとに改行したファイルの場合

アの方法だとその16進法は
    *     c40a d60a dc0a e40a f60a fc0a df0a 2e
    *     A    O   U    a    o    u    s     .

イの方法だと
 1b2d 41c4 1b24 2942 0a1b 2d41 d61b 2429 420a 1b2d 41dc 1b24 2942
 0a1b 2d41 e41b 2429 420a 1b2d 41f6 1b24 2942 0a1b 2d41 fc1b 2429 
 420a 1b2d 41df 1b24 2942 0a2e 
と一文字ごとに,iso-8859-1 で始まることを示すシークエンスとiso-8859-1 で終るのを示すシークエンスが付加される。


* FileInputStream を使った iso-8859-1 の補足 2005 09 16 [#j5aa48b5]

 class iso8859 {
   public static void main(String[] args) {
    try {
        FileInputStream is = new FileInputStream("file.txt");
        InputStreamReader in = new InputStreamReader(is, 
         "ISO-8859-1");
         int ch;
         while ((ch = in.read()) != -1) {
               System.out.print(Integer.toHexString(ch) + " ");
               if(ch == 0xe4){// aウムラウトを補足
             	System.out.print("← a-umlaut ");
                }
            }
           in.close();
        } catch (IOException e) {
            System.out.println(e);
        }
     }
  }