본문으로 이동
문자 인코딩·텍스트
-
문자 인코딩·텍스트
유니코드 정규화: NFC·NFD 와 맥 파일명 자모 분리, zip 한글 깨짐
맥에서 보낸 파일 이름이 ㅎㅏㄴㄱㅡㄹ 로 갈라지는 원인을 실측. NFC/NFD/NFKC 차이, APFS 의 실제 동작, 맥 zip 의 UTF-8 플래그, git 설정, DB 중복까지 해결 코드와 함께 정리.
-
문자 인코딩·텍스트
인코딩 자동 판별은 추측일 뿐: 정확도와 변환 속도 실측
mb_detect_encoding 과 표준 라이브러리 판별기를 9,000개 샘플로 비교. 짧은 한글일수록 틀린다. 10MB 변환 속도와 청크 경계에서 한글이 깨지는 버그까지.
-
문자 인코딩·텍스트
문자·코드 포인트·UTF-8 바이트를 xxd 로 직접 보기
len('한글')은 2인데 파일은 6바이트인 이유. 문자·코드 포인트·바이트의 차이를 xxd, 파이썬, PHP 로 실행해 보고, CP949 에서 UTF-8 로 옮길 때 컬럼이 넘치는 이유까지 확인합니다.
-
문자 인코딩·텍스트
문자열 길이는 언어마다 다르다: 이모지·그래핌·바이트 8개 언어 실측
한글 NFD, 👍🏽, 👨👩👧, 🇰🇷 의 길이를 Python·JS·Swift·Dart·Java·C#·PHP·SQLite 로 실측. 이모지를 깨뜨리는 자르기 버그와 DB 글자 수 제한까지.
-
문자 인코딩·텍스트
한글 깨짐의 원리와 복구: CP949·EUC-KR·UTF-8 을 파이썬으로 재현
ÇѱÛ, 한글, �븳湲� 은 왜 생길까. UTF-8 과 CP949 를 일부러 바꿔 읽어 한글 깨짐을 재현하고, 패턴 읽는 법, EUC-KR 의 똠 문제, 복구 가능한 경우와 불가능한 경우를 1,000건으로 실측합니다.
-
문자 인코딩·텍스트
CSV 인코딩: UTF-8·BOM·CP949 와 엑셀 한글 깨짐 실측
같은 CSV 를 UTF-8·BOM·CP949 로 써서 바이트를 확인. Python·PHP·sqlite3 로 다시 읽고, BOM 부작용, EUC-KR 에 없는 똠, 이모지 오류까지 실측해 엑셀용 판단표로 정리.
↑