컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Java/자바] 총 메모리, 남은 메모리 보기, 자바 가상머신 totalMemory, fr...Excel/엑셀] 현재 시트 이름, 셀에 입력 방법, 시트명 구하는 함수; Current ...윈도우 환경변수 고치는 방법, 환경변수 수정 법; Set Environment Variab...윈도우] 명령 프롬프트 글꼴 사이즈 변경, 도스창 폰트 바꾸기; Windows DOS Co...C언어] printf 함수에서, 퍼센트 기호(%) 출력 방법; Print Percent S...자바스크립트] 문자를 유니코드 번호로 변환, 아스키 코드 구하기; JavaScript Un...리눅스 시디롬 드라이브 인식 명령어, 플로피 디스크 인식시키는 법; Linux CD-ROM...Linux/리눅스] 새 계정 만들기/지우기, 사용자 아이디 추가/삭제; Create Acc...ISO 파일 열기 / iso 이미지 파일 풀기 / 이소 파일 편집 프로그램, 여는 방법유닉스 파일 찾기] find 명령어 출력 결과를, 텍스트 파일로 저장; UNIX File ...

Java/자바] UTF-8 BOM 있는 유니코드 파일 출력/만들기 예제

Monday, November 20, 2006

자바로 유니코드 파일을 만들면 BOM 이 없습니다. (▶▶ [QnA] 유니코드 (Unicode) 의 BOM (Byte Order Mark) 이란? 참고)

앞으로 자바가 버전업이 되면 어떨지 모르겠지만, 현재 자바 1.5 버전에서는 직접 BOM 을 추가해 주어야 하더군요.

그런데 UTF-8 의 "봄"은 3바이트이기에 좀 애매한데, 이것을 65279 라는 숫자로 변환하여 파일로 출력하면 UTF-8 BOM 이 만들어집니다. 이렇게 만든 봄을, 헥사 에디터로 보아도 정상적으로 보였고, ☞ EmEditor 에서도 봄을 잘 인식했습니다.

물론 HTML용 UTF-8 유니코드에는 BOM 이 없어야 합니다.


다음 예제는,

ABC가나다라
똠방각하

라는 문자열이 든 "UTF-8 유니코드" 파일을 out.txt 라는 이름으로 만들어서 하드에 저장하는 것인데, 파일 맨 앞에 직접 봄을 삽입합니다. (봄은, 텍스트 에디터에서는 보이지 않음)


UTF-8 BOM (EF BB BF) 출력/삽입 예제


파일명: Foo.java
import java.io.*;

public class Foo {
  public static void main(String[] args) {

  try {
    BufferedWriter UniOutput = new BufferedWriter(
                                                  new OutputStreamWriter(
                                                                         new FileOutputStream("out.txt"),
                                                                         "UTF8"
                                                                         )
                                                  );

    // UTF-8의 BOM인 "EF BB BF"를 UTF-16BE 로 변환하면 "65279"라는 값이 됨
    UniOutput.write(65279);

    UniOutput.write("ABC가나다라");
    UniOutput.newLine();
    UniOutput.write("똠방각하");

    UniOutput.close();

  } catch (UnsupportedEncodingException e) {
      System.err.println(e);
      System.exit(1);
  } catch (IOException e) {
      System.err.println(e);
      System.exit(1);
  }

  }
}



16비트 유니코드의 봄을 생성하는 법: ▶▶ Java/자바] UTF-16LE, UTF-16BE BOM 쓰기, 유니코드 파일 출력; Write BOM


▶▶ 자바Java] 유니코드(UTF-8) 파일 출력, 유니코드 텍스트 파일 만들기: Unicode Output

☞ 자바(Java)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top