UTF-8의 부호단위는 1바이트이다. 변환 과정은 그만큼 더 복잡하지만, 대신 데이터의 낭비가 줄어든다는 장점이 있다. 변환된 결과값은 1바이트부터 4바이트까지의 가변길이이다.
16진수 부호점 | 2진수 UTF-8 |
---|---|
U+0000 ~ U+007F | 0xxxx xxxx |
U+0080 ~ U+07FF | 110x xxxx 10xx xxxx |
U+0800 ~ U+FFFF | 1110 xxxx 10xx xxxx 10xx xxxx |
U+10000 ~ U+10FFFF | 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx |
U+AC00 ~ U+D7A3까지의 부호점들은 한글 음절을 나타내며, 이 부호점을 통해 한글을 조합하여 사용할 수 있다.
((초성) 588 + (중성) 28 + (종성)) + 44032
ex)'한' : (18 588 + 0 28 + 4) + 44032 = U+D55C
1import com.choikang.chukahaeyo.common.Decode;
import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
@Log4j
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {config.MvcConfig.class})
@WebAppConfiguration
@Slf4j
public class DecodeTest {
@Test
public void getDecode() {
String a = Decode.unicodeDecode("\\uc548\\ub155\\ud558\\uc138\\uc694");
System.out.println("decode:" + a);
}
}