Qt의 유니코드

유니코드는 전 세계에서 사용되는 거의 모든 언어의 텍스트를 인코딩하는 표준입니다. 오늘날 대부분의 최신 운영 체제에서 텍스트의 기본 인코딩으로 사용됩니다. 주요 예외는 여전히 코드 페이지와 애플리케이션용 유니코드를 지원하는 이중 시스템을 갖춘 Microsoft Windows입니다.

문자열 작업을 위한 Qt의 클래스

이 클래스는 문자열 데이터로 작업할 때 유용합니다. 텍스트 렌더링에 대한 자세한 내용은 서식 있는 텍스트 처리 개요를 참조하고, 문자열 데이터가 XML인 경우 XML 처리 개요를 참조하세요.

QAnyStringView

QString API의 읽기 전용 하위 집합이 있는 Latin-1, UTF-8 또는 UTF-16 문자열에 대한 통합 보기

QByteArray

바이트 배열

QByteArrayList

바이트 배열 목록

QByteArrayMatcher

바이트 배열에서 빠르게 일치시킬 수 있는 바이트 시퀀스를 보유합니다.

QByteArrayView

QByteArray API의 읽기 전용 하위 집합을 가진 바이트 배열에 대한 보기

QChar

16비트 유니코드 문자

QCollator

지역화된 콜레이션 알고리즘에 따라 문자열을 비교합니다.

QCollatorSortKey

문자열 데이터 정렬 속도를 높이는 데 사용 가능

QLatin1Char

8비트 ASCII/Latin-1 문자

QLatin1StringMatcher

라틴-1 텍스트의 하위 문자열 검색 최적화

QLatin1StringView

US-ASCII/Latin-1로 인코딩된 문자열 리터럴을 둘러싼 얇은 래퍼

QLocale

다양한 언어의 숫자와 해당 문자열 표현 간 변환

QRegularExpression

정규식을 사용한 패턴 일치

QRegularExpressionMatch

문자열에 대한 QRegularExpression 일치 결과

QRegularExpressionMatchIterator

문자열에 대한 QRegularExpression 객체의 전역 일치 결과에 대한 이터레이터

QStaticByteArrayMatcher

QByteArrayMatcher의 컴파일 타임 버전

QStaticLatin1StringMatcher

QLatin1StringMatcher의 컴파일 타임 버전

QString

유니코드 문자 문자열

QStringList

문자열 목록

QStringMatcher

유니코드 문자열에서 빠르게 일치시킬 수 있는 문자 시퀀스를 보유합니다.

QStringRef

QString 하위 문자열을 둘러싼 얇은 래퍼

QStringTokenizer

지정된 구분 기호를 따라 문자열을 토큰으로 분할합니다.

QStringView

QString API의 읽기 전용 하위 집합이 있는 UTF-16 문자열에 대한 통합 보기

QTextBoundaryFinder

문자열에서 유니코드 텍스트 경계를 찾는 방법

QTextStream

텍스트 읽기 및 쓰기를 위한 편리한 인터페이스

QUtf8StringView

QString API의 읽기 전용 하위 집합이 있는 UTF-8 문자열에 대한 통합 보기

웹에서의 유니코드에 대한 정보

유니코드 컨소시엄에는 다음과 같은 다양한 문서가 있습니다.

Qt의 유니코드

Qt와 Qt를 사용하는 대부분의 응용 프로그램에서 사용자가 볼 수 있는 대부분의 또는 모든 문자열은 유니코드를 사용하여 저장됩니다. Qt가 제공합니다:

  • 파일 I/O를 위한 레거시 인코딩과의 변환: QTextCodecQTextStream 을 참조하십시오.
  • 로케일별 입력 메서드 및 키보드 지원.
  • 유니코드 문자를 저장하는 문자열 클래스( QString)는 UTF-8, ISO8859-1 및 US-ASCII로의 빠른 변환과 모든 일반적인 문자열 연산을 포함하여 C 문자열로부터의 마이그레이션을 지원합니다.
  • 유니코드 인식 UI 컨트롤.
  • 유니코드 호환 텍스트 분할(QTextBoundaryFinder)
  • 유니코드 호환 줄 바꿈 및 텍스트 렌더링

유니코드의 이점을 최대한 활용하려면 사용자가 볼 수 있는 모든 문자열을 저장할 때는 QString 을 사용하고 모든 텍스트 파일 I/O는 QTextStream 을 사용하는 것이 좋습니다.

QLabel::setText() 등 사용자가 볼 수 있는 문자열일 수 있는 Qt의 모든 함수 인자는 const QString &를 사용합니다. QStringconst char * 에서 암시적 캐스팅을 제공하므로

label->setText("Password:");

와 같은 것이 작동합니다. 또한 다음과 같이 번역 지원을 제공하는 QObject::tr() 함수도 있습니다:

label->setText(tr("Password:"));

QObject::tr()는 const char * 에서 유니코드 문자열로 매핑하고, 설치 가능한 QTranslator 객체를 사용하여 매핑을 수행합니다.

Qt는 다른 프로그램과 대화하거나 레거시 파일 형식의 파일을 읽고 써야 하는 프로그램을 지원하기 위해 유니코드와 레거시 인코딩 사이에서 변환하는 방법을 아는 클래스, 즉 다수의 내장 QTextCodec 클래스를 제공합니다.

const char * 로의 변환은 UTF-8을 사용합니다. 그러나 애플리케이션은 다른 로캘용 코덱을 쉽게 찾을 수 있으며, 열려 있는 파일이나 네트워크 연결이 특수 코덱을 사용하도록 설정할 수 있습니다.

US-ASCII와 ISO-8859-1은 매우 일반적이기 때문에 특히 빠른 매핑 기능도 있습니다. 예를 들어 애플리케이션의 아이콘을 열려면 다음과 같이 하면 됩니다:

QFile file(QString::fromLatin1("appicon.png"));

또는

QFile file(QLatin1String("appicon.png"));

Qt는 전 세계에서 쓰이는 대부분의 언어로 된 텍스트 렌더링을 지원합니다. 지원되는 문자 시스템의 자세한 목록은 운영 체제 지원과 대상 시스템의 글꼴 가용성에 따라 약간 다릅니다.

Qt를 사용한 국제화를참조하십시오 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.