AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

문자열(str) 처리 및 인코딩/디코딩 방법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

  • Python 개발자, 문자열 처리 및 인코딩/디코딩 작업에 관심 있는 사람들
  • 중급 이상의 Python 지식을 가진 개발자에게 유용

핵심 요약

  • str() 함수는 객체, 바이트 객체, 인코딩 방식, 오류 처리 방법을 매개변수로 받아 문자열을 생성
  • 인코딩 옵션: utf-8, utf-16, ascii 등 표준 인코딩 사용 가능
  • 오류 처리 방법: 'strict', 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 등 다양한 핸들러 제공

섹션별 세부 요약

1. `str()` 함수의 매개변수 설명

  • object 매개변수:

- 기본값은 빈 문자열 '' 또는 바이트 객체 b''

- encodingerrors가 설정된 경우, 바이트 객체를 디코딩

  • encoding 매개변수:

- 'utf-8', 'utf-16', 'ascii' 등 다양한 인코딩 방식 지원

- 표준 인코딩 목록 참조 가능

  • errors 매개변수:

- 디코딩 오류 처리 방식을 제어 (예: 'strict', 'ignore', 'replace' 등)

2. 인코딩 오류 처리 방법

  • 'strict': 디코딩 불가능한 문자가 있을 경우 UnicodeError 발생
  • 'ignore': 디코딩 불가능한 문자를 무시
  • 'replace': 디코딩 불가능한 문자를 로 대체
  • 'xmlcharrefreplace': XML 형식의 문자 참조로 대체 (예: ё)
  • 'backslashreplace': Unicode escape 시퀀스로 대체 (예: \u0451)

3. `str()` 함수의 다양한 객체 변환 예시

  • 자료형 변환 예시:

- str(12)"12" (정수)

- str([1, 2, 3])"[1, 2, 3]" (리스트)

- str({'name': 'John'})"{name: John}" (딕셔너리)

- str(iter([1, 2, 3])) (이터레이터)

4. 사용자 정의 오류 처리 핸들러

  • codecs.register_error()를 사용하여 커스텀 오류 처리 방식 정의 가능

결론

  • 인코딩/디코딩 작업 시 encodingerrors 매개변수를 적절히 설정하여 예외 처리 가능
  • str() 함수는 다양한 자료형을 문자열로 변환할 수 있어 데이터 처리 시 유용
  • 예시: str(b'Hello', encoding='utf-8', errors='ignore')"Hello" (바이트 객체 디코딩)