Do Not Think!!!

Posted
Filed under 01010101
new String(byte[] buffer)에서 charset 문제에서 MS-Windows와 Linux등의 두개 이상의 다른 OS에서 자바 프로그램을 실행시킬경우 한글 문제를 해결하기 위한 내용을 다뤘습니다.

이번에는 반대로 Java에서 저장한 데이터를 .NET 프로그램에서 읽기 위한 방법입니다.

이번에도 Java 프로그램은 MS-Windows와 Linux등 두개 이상의 다른 OS에도 동작합니다.


예를들면 다음과 같이 동작하는 프로그램입니다.
.NET 프로그램 <----- DB, File, Network <----- Java 프로그램(MS-Windows, Linux등에서 동작)


이때에는 string을 만들때와는 반대로 명시적으로 charset을 사용해서 string을 인코딩(string -> stream)해야 합니다.

즉, 다음과 같은 코드 대신

(Language : java)
  1. byte[] buffer = str.getBytes()


다음과 같은 코드를 사용합니다.

(Language : java)
  1. byte[] buffer = str.getBytes("MS949") // MS949로 인코등해서 stream을 만듭니다.


.NET 프로그램과 Java 프로그램을 모두 UTF-8로 만들면 이런 문제를 생각하지 않아도 됩니다.
하지만,
.NET 프로그램이 만들어져 있는 상황에서, Java로 프로그래밍을 해야 한다면, 특히 데이터를 같이 사용해야 한다면, 이런 방법을 사용해서 한글 문제를 해결해야 합니다.