Flutter Web http 한글 깨질 경우

바르고·2022년 7월 16일
0

http로 받아온 Json 데이터를 파싱하는 과정에서 한글 깨짐을 경험.

해결 : utf8 형식으로 디코딩을 해야함


다음 코드에서

 if (response.statusCode == 200) {
      return response.body;

다음 코드로 변경

if (response.statusCode == 200) {
      return utf8.decode(response.bodyBytes);

기본 EUC-KR(Extended Unix Code-Korea) 와 UTF-8 형식의 차이는
EUC-KR 과 UTF 의 차이점에 대하여 에서 확인할 수 있다.

EUC-KR 은 2byte로 완성형 조합 방식으로 한글을 표현한 인코딩 방식
완성형 조합이란 완성된 글자 하나하나에 코드번호를 부여한다.

UTF-8 은 유니코드 인코딩 방식 중 하나로
유니코드 범위에 따라 1~4byte로 인코딩을 하는 '가변적'인 방식
사용빈도가 높은 글자에 낮은 byte를 할당해 적은 공간을 차지하게 한다.

다만 UTF-8 사용시 용량이 다소 늘어나는 부분이 있다.
UTF-KR에서는 한글이 2byte이지만
UTF-8 에서는 한글이 3byte이기 때문에...

끝.

profile
바르고의 다락방

0개의 댓글