UTF-8은 1, 2 및 최대 4 바이트로 인코딩 할 수 있습니다. 내 시스템의 char
한 개가 1 바이트입니다. 임의의 UTF-8로 인코딩 된 문자를 넣을 수 있도록 예방 차원에서 wchar_t
을 사용해야합니까?UTF-8을 사용할 때 wchar_t를 사용해야합니까?
4
A
답변
8
아니요, 유니 코드 4.0 표준 (ISO 1 0,646 :
가
wchar_t
의 폭 컴파일러 관련되고 8 비트 정도로 작을 수있다 : 2003) 것을 말한다. 결과적으로 C 또는 C++ 컴파일러에서 이식 가능해야하는 프로그램은 유니 코드 텍스트를 저장하는 데wchar_t
을 사용하지 않아야합니다. 대부분의 상황에서
, UTF-8 텍스트의 "문자 자연은"그래서 그냥 다른 문자열처럼 char
요소의 배열로 처리, 프로그램 관련없는 것, 충분합니다. 그러나 개별 문자를 추출해야하는 경우 모든 유니 코드 코드 포인트를 수용하기 위해 최소 24 비트 (예 : uint32_t
)의 문자 유형으로 저장해야합니다.
2
wchar_t
코드를 이식성있게 만들고 싶지 않은 경우에는별로 유용하지 않습니다. wikipedia
의 wchar_t의 폭
컴파일러 - 특정 8 비트 정도로 작을 수있다. 결과적으로 C 또는 C++ 컴파일러에서 이식 가능해야하는 프로그램은 유니 코드 텍스트를 저장하는 데 wchar_t를 사용하지 않아야합니다. wchar_t의 유형은 또한
"일부 컴파일러 유니 코드 문자 일 수 컴파일러 정의 와이드 문자를 저장하기위한 의도
C 및 C++에서 모두 고정 된 크기의 문자 유형을 char16_t
및 char32_t
소개 wchar_t
을 구현 정의로 남겨둔 채로 16 비트 및 32 비트 유니 코드 변환 형식의 명확한 표현을 제공하는 2011 년 개정 각 표준.
관련 문제
- 1. phpseclib를 사용할 때 stream_set_blocking을 사용해야합니까?
- 2. Ajax를 사용할 때 XMLHTTPRequest를 사용해야합니까?
- 3. Backbone.js를 사용할 때 백엔드를 사용해야합니까?
- 4. setTimeout을 사용할 때 clearTimeout을 사용해야합니까?
- 5. 부스트 :: wchar_t를
- 6. UTF8을 사용할 때 콘솔 출력에서 정렬되지 않은 mysqld 테이블
- 7. wchar_t를 서명되지 않은 짧은
- 8. wchar_t를 wstring으로 변환합니다.
- 9. Prepared Statements를 사용할 때 real_escape_string을 사용해야합니까?
- 10. Microsoft Access를 사용할 때 언제 SQLite를 사용해야합니까?
- 11. 하스켈 스택을 사용할 때 -ghc-options을 사용해야합니까?
- 12. 그 루트를 사용할 때 경로에 "./"를 사용해야합니까?
- 13. Apache Tiles를 사용할 때 XHTML을 사용해야합니까?
- 14. 위젯에서 버튼을 사용할 때 활동이나 서비스를 사용해야합니까?
- 15. @transactional을 사용할 때 jpatemplate/hibernatetemplate을 사용해야합니까?
- 16. CATransition을 사용할 때 언제 어디에서 removeAllAnimations를 사용해야합니까?
- 17. AngularJS - $ scope를 사용해야합니까 $ $ http를 사용할 때 $ 적용
- 18. 오전 나는 기대를 사용할 때 스폰을 사용해야합니까?
- 19. PDO를 사용할 때 addslashes 기능을 사용해야합니까?
- 20. mysql에서 where 절을 사용할 때 인덱스를 사용해야합니까?
- 21. iOS에서 MPMediaItem을 사용할 때 NSMutableArray에 mutableCopy를 사용해야합니까?
- 22. 유니 코드를 사용할 때 HTML 엔터티를 사용해야합니까?
- 23. @weakify, @strongify를 사용할 때 __block을 사용해야합니까?
- 24. LINQ를 사용할 때 3 개의 레이어를 사용해야합니까?
- 25. MDX : RANK를 사용할 때 ORDER를 사용해야합니까?
- 26. 탐색 서랍을 사용할 때 단편을 사용해야합니까?
- 27. 엔티티 프레임 워크를 사용할 때 Linq를 사용해야합니까?
- 28. wstring/wchar_t를 사용하는 C++
- 29. 변환 wchar_t를 내가 변환해야
- 30. wchar_t를 char로 변환
필요하지 않습니다. 이것을 참조하십시오 : –
lulyon
'wchar_t'는 (보통?) 2가 아닌 4입니다. – Yakk
아니요 http를 참조하십시오. : //utf8everywhere.org 당신이해야 할 일 : –