Programing/OpenSource
[Util] EUC-KR to JavaScript escaped string
나모찾기
2019. 6. 13. 12:19
파일럿 성으로 만들어보았는데 결국 쓰지 않을 것 같지만 아카이브용으로 기록해둔다.
public static String toJsonEucKr(String str) {
if (Objects.isNull(str)) {
return null;
}
byte[] euckr = str.getBytes(EUC_KR);
StringBuilder sb = new StringBuilder(euckr.length * 5); // 1: 5B -> 6: \u005B , 2: B0E6 -> 6: \uB0E6
boolean isMultibyte = false;
for (byte b : euckr) {
if (isMultibyte) {
sb.append(byteToHex(b));
isMultibyte = false;
} else {
if ((b & 0x80) == 0) {
sb.append("\\u00").append(byteToHex(b));
} else {
sb.append("\\u").append(byteToHex(b));
isMultibyte = true;
}
}
}
return sb.toString();
}