기본 문자 인코딩은 무엇입니까?


8

나는이 질문이 실제로 얼마나 깊이 있는지 알지 못합니다 (예를 들어, 내 작업에 따라 몇 가지가있을 수 있음을 알고 있습니다).

특히 시스템의 파일 및 폴더 이름을 지정하는 데 사용되는 문자열 종류에 관심이 있습니다.

또한 bash 또는 python 스크립트에서 문자열이 기본적으로 표시되는 방법에 관심이 있습니다.


Windows에서 변환하여 소스 코드를 일부 버전 제어 시스템에 제공하는 경우 특히 좋은 질문입니다. Ubuntu로 전환 한 후 Windows는 일반적으로 UTF-8을 사용하지 않기 때문에 읽을 수없는 특수 문자가 갑자기 나타날 수 있습니다.
Bananeweizen

답변:


3
  • 파일 시스템의 파일 이름 인코딩은 utf-8입니다.
  • Bash는 인코딩 지식 문자열이 아닌 바이트 단위로 생각합니다. 따라서 기본 인코딩이 없습니다. 그놈 터미널의 기본 인코딩은 utf-8입니다.
  • 파이썬의 기본 인코딩은 ascii입니다

파이썬 3 (제 생각에?)은 기본적으로 유니 코드 문자열로 변경됩니다.
Broam

Python 3의 str () 유형은 내부적으로 UCS-2 또는 UCS-4 인코딩의 유니 코드 객체입니다. 예를 들어 파일 및 stdin에서 데이터를 읽거나 쓰는 방법은 응용 프로그램 / 라이브러리 개발자가 utf-8을 표준으로하여 결정해야합니다 (예 : print (some_str)는 utf-8 표현을 인쇄합니다).
Dennis Kaarsemaker

파이썬 3은 루비 1.9와 같은 유니 코드로 갈 것입니다. 루비 1.8과 같은 파이썬 2 이하는 ASCII 기반이며 모든 문자 세트와 함께 작동하지만 유니 코드 문자열의 문자 수에 대한 아이디어는 잘못되었습니다. (보통 문제가되지 않습니다)
Ralf

3
gnome-terminal은 기본적으로 utf-8이 아닙니다. 로케일이 설정된 모든 것을 사용합니다. (최근에 어려운 방법을 발견했을 때)
frabjous

1
@DennisKaarmaker 아니요, Python3은 개발자에게만 인코딩을 남기지 않으며 기본값 UTF-8을 사용합니다. 예를 들어 Stdin과 -out은 기본적으로 환경 인코딩을 사용합니다!
Robert Siemer

7

기본 문자 인코딩은 UTF-8 (유니 코드)이지만, 거의 모든 파일 (기본 설치의 모든 파일 이름) 은 일반 ASCII 문자이며 대부분의 인코딩에 공통입니다.

"bash 또는 python 스크립트로 표시되는 문자열 수"가 무엇을 의미하는지 잘 모르겠습니다. 우분투의 bash 스크립트에서 유니 코드 문자를 사용할 수 있지만 일반적으로 bash 스크립트와 함께 다른 프로그램을 호출하고 다른 프로그램이이를 처리할지 여부는 또 다른 문제입니다. 파이썬으로도 그렇게 할 수는 있지만 패키지와 관련된 설정과 설정에 익숙해지기를 원할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.