문제

처리 될 때 메모리에서 가장 바람직한 유니 코드 문자열 형식은 무엇입니까? 그리고 왜?

실행 파일 이미지를 생성하여 프로그래밍 언어를 구현하고 있습니다. 분명히 작업 프로그래밍 언어 구현에는 문자열 처리를위한 프로토콜이 필요합니다.

나는 동적 배열을 문자열의 기초로 사용하는 것에 대해 생각했습니다. 구현하기가 매우 간단하고 짧은 문자열의 경우 매우 효율적이기 때문입니다. 나는 이런 방식으로 문자열을 사용할 때 캐릭터에 가장 적합한 형식에 대해 전혀 모른다.

도움이 되었습니까?

해결책

UTF16은 가장 널리 사용되는 형식입니다.

의 이점 UTF16 ~ 위에 UTF8 소형이 적더라도 모든 캐릭터는 일정한 크기의 2 바이트 (16bits)를 가지고 있습니다. 대리를 사용하지 않는 한 (2Bytes 숯을 고수 할 때, 인코딩을 호출합니다. UCS-2).

UTF8에는 1 바이트에 코딩 된 작은 문자 세트 만 있으며 다른 문자는 4 바이트입니다. 이로 인해 문자 처리가 덜 직접적이고 오류가 발생하기 쉽습니다.

물론 유니 코드 사용은 국제 문자를 핸들링 할 수 있으므로 선호됩니다.

다른 팁

C Python 2.X 시리즈는 플랫폼/빌드/등에 따라 UTF-16 및 UCS-4를 사용했습니다.

흥미로운 토론이 있습니다 Python-Dev에서 Python 3.0의 유니 코드 내부 표현을 선택할 때의 요구 사항 및 트레이드 오프. 간단히 설명 할 수있는 것보다 더 많은 내용이 있지만 다음과 같습니다.

  • 외부 인터페이스 논의 (일정한 시간 슬라이싱, .Lower,. ISLOWER 등의 효율적인 구현)
  • 외부 요구 사항 (GTK는 UTF-8 문자열을 사용하고 QT는 UTF-16 및 UCS-4 문자열을 차지하고 Windows는 UT-16 문자열을 취합니다.)
  • 유니 코드 데이터의 다른 구현 (예 : QT)을 가리 킵니다.
  • 중요한 사용 사례 (외부 인터페이스와 밀접한 관련이 있음)에 대해 설명합니다.
  • 등.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top