develog

Java 한글 Encoding 본문

Dev/Java

Java 한글 Encoding

냐옴 2014. 3. 4. 20:00

한글 포함한 문자열을 바이트 단위로 잘라야 하는 경우 아래 코드사용

new String("문자열".getBytes("EUC-KR"), start, end, "EUC-KR")


Source

public class TestMain {


public static void main(String[] args) throws Exception {

System.out.println("START");

System.out.println("-----------------------------------------");


test("한글입니다");

test("AB영어입니");


System.out.println("-----------------------------------------");

System.out.println("END");

}


private static void test(String line) throws Exception {

String tab = "    ";

System.out.println();

System.out.println(line);

System.out.println(tab + "line.getBytes().length                              : " + line.getBytes().length);

System.out.println(tab + "line.getBytes(\"EUC-KR\").length                      : " + line.getBytes("EUC-KR").length);

System.out.println(tab + "new String(line.getBytes(), 0, 2)                   : " + (new String(line.getBytes(), 0, 2)));

System.out.println(tab + "new String(line.getBytes(\"EUC-KR\"), 0, 2, \"EUC-KR\") : " + (new String(line.getBytes("EUC-KR"), 0, 2, "EUC-KR")));

}


}


Console

START

-----------------------------------------


한글입니다

    line.getBytes().length                              : 15

    line.getBytes("EUC-KR").length                      : 10

    new String(line.getBytes(), 0, 2)                   : �

    new String(line.getBytes("EUC-KR"), 0, 2, "EUC-KR") : 한


AB영어입니

    line.getBytes().length                              : 14

    line.getBytes("EUC-KR").length                      : 10

    new String(line.getBytes(), 0, 2)                   : AB

    new String(line.getBytes("EUC-KR"), 0, 2, "EUC-KR") : AB

-----------------------------------------

END


'Dev > Java' 카테고리의 다른 글

hMailServer 설치 (Windows 7 64 bit)  (0) 2014.05.22
Jacob 설치 (Windows 7 64 bit)  (0) 2014.05.20
java 정규표현식  (0) 2014.02.21
[java] Ant copy  (0) 2014.02.18
variable arguments 2  (0) 2014.02.14
Comments