문제

무엇 최상의 방법으로는 유니코드 가공에서는 C++?

도움이 되었습니까?

해결책

  • ICU 처리에 대한 데이터를(또는 이와 유사한 라이브러리)
  • 에서 자신의 데이터를 저장하는지 확인 모두에 저장되는 동일한 인코딩
  • 는지 확인 당신은 항상 사용하는 유니코드 라이브러리에 대한 일반적인 작업 같은 문자열의 길이가 총액 상태,etc.사용하지 않는 표준 라이브러리 내부 명령과 같은 is_alpha 지 않는 것이 정 당하고 싶습니다.
  • 나는 그것을 말할 수 없는 충분히: 지 반복하여 인덱스의 string 는 경우 당해 정확성,항상 사용하는 유니코드 라이브러리이다.

다른 팁

는 경우에 대해 걱정하지 않는 이는 C++표준,현재 C++11 표준은 건축에서는 유니코드 지원: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2011/n3242.pdf

그래서 진정으로 최상의 방법 유니코드에 대한 처리는 C++에서 사용하는 것이 내장된 시설에서습니다.지 않는 항상 가능성이 오래된 코드 베이스하지만,표준이 되도록 새로운에서 존재합니다.

편집:을 명확히,C++11 은 유니코드를 알고 있다는 점에서 지금은 유니코드를 지원하는 인터 유니코드 문자열입니다.그러나,표준 라이브러리만 제한적 지원 유니코드에 대한 처리 및 변환입니다.에 대한 현재의 요구 사항이 충분히 있을 수 있습니다..그러나,당신이해야 할 많은 양의 무거운 짐을 지금 당신은 여전히 필요 같은 것을 사용 ICU 더 깊이 처리합니다.거기에 몇 가지 제안 현재 작품에서 포함하는보다 강력한 지원을 위한 텍스트를 변환 사이의 다양한 인코딩.내 생각엔(과 희망한다)이의 일부가 될 것입니다 다음 기술 보고서.

우리의 회사(및 다른 사람)를 사용하는 오픈 소스 국제 요소에 대한 유니코드 (ICU)라이브러리는 원래 의해 개발되었 Taligent.

그것은 처리,문자열에 적,변환,날짜/시간,정렬,변환,et.al.

ICU Userguide

체크리스트를 위한 윈도우 프로그래밍:

  • 모든 문자열로 묶 _T("나의 문자열")
  • strlen()등입니다.기능으로 대체 _tcslen()등입니다.
  • 사용 LPTSTR 및 LPCTSTR 대신 char*const char*
  • 시작할 때 새로운 프로젝트에서 데브 스튜디오,종교적으로 확인하는 유니코드 옵션을 선택에서 당신의 프로젝트 속성입니다.
  • C++문자열을 사용하는 std::wstring 대신 std::string

대소문자를 구별하는 문자열 비교에서는 C++

는 질문에 대한 링크를 Microsoft 설명서에서는 유니코드: http://msdn.microsoft.com/en-us/library/cc194799.aspx

을 보면 왼쪽에있는 다음과 같은 방법을 사용하여 측에 MSDN 다음 해당 문서에서 찾아야 합니 많은 정보에 관한 유니코드 기능입니다.그것은 부분의 장에서"문자 인코딩"(http://msdn.microsoft.com/en-us/library/cc194786.aspx)

그 다음 하위 섹션:

  • 코드-페이지 모델
  • 두바이트 문자 집합에서 윈도우
  • 유니코드
  • 호환성 문제에 혼합 환경
  • 유니코드 데이터 변환
  • 마이그레이션 윈도우 기반 프로그램을 유니코드
  • 요약

이되지 않을 수 있는 최상의 방법이 모두 작성할 수 있습니다 당신의 자신의 C++유니코드 루틴하려면!

나는 그냥 그 일을 통해 주말입니다.저는 많은 것을 배웠지만,저는 보장하지 않는 그것의 100%무료 버그,내가 많은 테스트를 제대로 작동합니다.

내 코드는 아래에서 새로운 BSD 라이센스와 여기에서 찾을 수 있습니다:

http://code.google.com/p/netwidecc/downloads/list

그것은이라고 WSUCONV 및 샘플 main()프로그램을 변환하는 사 UTF-8,UTF-16,표준 ASCII.만약 당신이 던져본 코드에,당신은 좋은 라이브러리를 읽기/쓰고 있습니다.

으로 말했다되었습니다 위에 라이브러리는 최선의 방법을 사용할 때에는 대형 시스템입니다.그러나 일부 회 당신이 원하는 일을 처리하는 자신(기 때문에 어쩌면 라이브러리를 사용하는 것을 많은 리소스에 마이크로 컨트롤러).이 경우에 당신이 원하는 간단한 라이브러리에 복사할 수 있는 부분의 것들에 대한 실제로 필요합니다.

윌로우 Schlanger 의 예제 코드는 좋은 것 같다(그의 대답에 대한 자세).

또한 발견 또 다른 하나는 작은 코드만은 부족하 전류 확인 및 처리 UTF-8 그러나이었다 간단하는 부품입니다.

여기에 목록을 임베디드 라이브러리는 유흥/오락 지구에 위치.

임베디드 라이브러리

에서 봐야의 권고 UTF-8 사방

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top