5-3.(1) FileEncoding
p.54
1.ハングルコード InputStreamオブジェクトは、文書の符号化部屋で文書 を指定することができる.フォーマット)新しいInputStreamReader(バイトベースのストリームオブジェクト、符号化); 2.符号化方式のハングル符号化方式は主にUTF-8&EUC-KRの2種類の がある.オリジナルハングルウィンドウCP 949 を使用ウィンドウから開発されたマイクロソフトはEUC-KRに拡張された.
,MS 949 CP 949はEUC-KRの拡張であり、その下位互換性は である. ANSIは英語表記のために制定されたコード仕様で、それ自体にハングルはありません.
その後、EUC-KR(Unixシリーズ)、CP 949(ウィンドウ)としてハングルが含まれる. MS949ウィンドウのデフォルトのハングルエンコーディング(ANSIシリーズ) UTF-8 Unicode UTF-8符号化 文字と数字:1 byte、韓国語:3 byte=>可変 US-ASCII英語コード FileInputStream&InputStreamReaderの例
T09_FileEncodingTest FileInputStreamオブジェクトを作成します.
このオブジェクトをパラメータとして受け入れるInputStreamReaderオブジェクトを作成します. バイト入力ストリームを接続し、文字入力ストリームリーダーに変換します. 保存コードと同じように読み込まなければなりません!!
ansi方式
:cp 949、MS 949、EUC-KR全読
UTF-8方式
:UTF-8のみで読み込む
OutputStreamWriterとInputStreamReaderの例
OutputStreamWriter OutputStream(バイトベースの出力オブジェクト)をWriter(文字ベースの出力オブジェクト)のオブジェクトに変換
このオブジェクトは、出力時に「符号化」を指定して を出力することもできる.
T10_FileEncodingTest
1.ハングルコード
その後、EUC-KR(Unixシリーズ)、CP 949(ウィンドウ)としてハングルが含まれる.
T09_FileEncodingTest
このオブジェクトをパラメータとして受け入れるInputStreamReaderオブジェクトを作成します.
public class T09_FileEncodingTest {
public static void main(String[] args) {
//파일 인코딩을 이용하여 읽어오기
FileInputStream fis = null; //바이트기반스트림
InputStreamReader isr = null;//문자기반스트림
try {
fis = new FileInputStream("d:/D_Other/test_utf8.txt");
//fis = new FileInputStream("d:/D_Other/test_ansi.txt");
// isr = new InputStreamReader(fis, "cp949"); //cp949방식으로 읽어보기
isr = new InputStreamReader(fis, "UTF-8");
// isr = new InputStreamReader(fis, "MS949");
// isr = new InputStreamReader(fis, "EUC-KR");
int c;
while((c=isr.read())!=-1) {
System.out.print((char)c);
}
System.out.println();
System.out.println("출력 끝...");
isr.close();//보조스트림 닫으면 기반스트림 닫고 보조스트림 닫는다.
//fis.close(); 굳이 안해줘도 된다.
}catch(IOException ex) {
ex.printStackTrace();
}
}
}
ansi方式
:cp 949、MS 949、EUC-KR全読
UTF-8方式
:UTF-8のみで読み込む
OutputStreamWriter
このオブジェクトは、出力時に「符号化」を指定して
T10_FileEncodingTest
public class T10_FileEncodingTest {
public static void main(String[] args) throws IOException {
//키보드로 입력한 내용을 파일로 저장하는데
//out_utf8.txt 파일은 'utf-8'인코딩 방식으로,
//out_ansi.txt 파일은 'ms949'인코딩 방식으로 저장한다.
InputStreamReader isr = new InputStreamReader(System.in); //문자기반
//파일 출력용
FileOutputStream fos1 = new FileOutputStream("d:/D_Other/out_utf8.txt");//바이트기반
FileOutputStream fos2 = new FileOutputStream("d:/D_Other/out_ansi.txt");
OutputStreamWriter osw1 = new OutputStreamWriter(fos1, "utf-8"); //문자기반
OutputStreamWriter osw2 = new OutputStreamWriter(fos2, "ms949");
int c;
System.out.println("아무거나 입력하라");
while((c=isr.read())!=-1) {
osw1.write(c);
osw2.write(c);
}
System.out.println("작업 완료...");
isr.close();
osw1.close();
osw2.close();
}
}
Reference
この問題について(5-3.(1) FileEncoding), 我々は、より多くの情報をここで見つけました https://velog.io/@zhyun1220/5-1.7-FileEncodingテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol