UTF-8 (1~4바이트 가변)
인코딩 바이트 크기와 위치 |
가능 | 설명+오류값 판별법 |
1바이트 | 가능: \x00 ~ \xFF | 전부 가능. \x00 ~ |
2바이트 이상에서, 나머지 바이트 |
가능: \x80 ~\BF 불가능: \x00~\x7F \xC0~\xFF |
바이트 값이 반드시 10xx xxxx 이어야 하므로 헥스코드2자리 중 앞자리가 8,9,A,B (1000 ~ 1011) 만 가능하다. 나머지 값인 0~7, C~F 가 들어가면 오류난다. |
2바이트의 첫번째 바이트 |
가능: \xC0~\xDF 불가능: \x00~\xBF \xE0~\xFF |
바이트 값이 반드시 110x xxxx 이어야 하므로 헥스코드2자리 중 앞자리가 C,D (1100,1101)만 가능하다. 나머지 값인 0~9, A,B,E,F 가 들어가면 오류난다. |
3바이트의 첫번째 바이트 |
가능: \xC0~\xCF 불가능: \x00~\xBF \xD0~\xFF |
바이트 값이 반드시 1110 xxxx 이어야 하므로 헥스코드2자리 중 앞자리가 C(1100)로 고정된다. 나머지는 앞자리에 들어가면 오류난다. |
4바이트의 첫번째 바이트 |
가능: \xF0~\xF7 불가능: \x00~\xEF \xF8~\xFF |
바이트 값이 반드시 1111 0xxx 이어야 하므로 헥스코드2자리 중 앞자리가 F(1100,1101)로 고정된다. 나머지 값이 들어가면 오류난다. 헥스코드 뒷자리가 0~7 (0000 ~ 0111)만 가능하다. 나머지 값인 8~F 가 들어가면 오류난다. |
EUC-KR, CP949 (2바이트 고정)
2바이트의 절반 정도인 약 3만2천개를 안 쓴다.
일일히 적어보려고 했으나 중간중간 빈 자리가 많고 불규칙한 면도 커서, 답이 없네.
아래 표에 들어가서 바이트값 검색해보고, 그게 나오면 decode 가 불가능한 값이다.
더 좋은 방법을 만들어보려 했으나 잘 안되어서 포기.
'파이썬(Python) > 인코딩' 카테고리의 다른 글
인코딩 악의축은 의외로 윈도우 운영체제와 엑셀인듯? (0) | 2022.10.26 |
---|---|
한국어 인코딩 과정에서 나오는 주요 Unicode Decode Error 목록 (0) | 2022.10.09 |
유니코드 그룹 표(Unicode groups table in EN & KR) (0) | 2022.10.07 |
Unicode Decode Error : 'utf-8' codec can't decode byte 0xed in position 0: invalid continuation byte 문제를, 해결할 수도 있는 한가지 방법 (0) | 2022.09.16 |