getline
기능을 사용하는 Unicode
문자뿐만 아니라 ASCII
을 갖는 C++에서 fstream
을 사용하여 파일을 읽어야합니다.
그러나이 함수는 std::string
만 사용하며이 간단한 문자열의 문자는 char32_t
으로 변환 할 수 없으므로 유니 코드 문자와 비교할 수 있습니다. 그러니 어느 누구라도 문제를 해결해 줄 수 있습니다.std :: string을 char32_t (유니 코드 문자)로 변환
1
A
답변
0
char32_t는 거의 사용되지 않는 UTF-32 인코딩에 해당합니다. 파일이 UTF-32로 인코딩되어 있습니까?
확실한 경우 문자열을 저장하려면 std::u32string
을 사용해야합니다. 읽으려면 예를 들어 std::basic_stringstream<char32_t>
을 사용할 수 있습니다. 그러나 일반적으로 이러한 유형은 제대로 지원되지 않습니다.
플랫폼 고유의 16 비트 또는 32 비트의 부호화 (등 ..., 웹 페이지)
UTF-8 텍스트 파일을 :
유니 코드는 일반적으로 사용하여 인코딩 프로그램에서 wchar_t 유형을 사용합니다.
일반적으로 보편적으로 인코딩 된 파일은 UTF-8 형식입니다. 이들은 1 (ASCII 문자)에서 4까지의 문자 인코딩에 가변 바이트 수를 사용합니다. 즉, std :: string을 사용하여 개별 문자를 직접 테스트 할 수 없습니다.
이렇게하려면 UTF-8 문자열을 wchar_t
문자열로 바꾸고 std::wstring
에 저장합니다. 이를 위해
는 다음과 같이 정의 된 변환기를 사용
std::wstring_convert<std::codecvt_utf8<wchar_t> > converter;
을 그리고 그와 같은 변환 :
std::wstring unicodeString = converter.from_bytes(utf8String);
그런 다음 각각의 유니 코드 문자를 액세스 할 수 있습니다. 각 문자열 리터럴 앞에 "L"을 넣어서 유니 코드 문자열 리터럴로 만드는 것을 잊지 마십시오. 예 :
if(unicodeString[i]==L'仮')
{
info("this is some japanese character");
}
관련 문제
- 1. C++에서 std :: string을 유니 코드 문자열로 변환
- 2. std :: string을 uint8로 변환 *
- 3. std :: string을 std :: vector로 변환
- 4. 글리프 인덱스를 유니 코드 문자로 변환
- 5. ASCII 문자를 유니 코드 문자로 변환
- 6. 문자열 목록을 파이썬에서 유니 코드 문자로 변환
- 7. XSLT 유니 코드 문자를 시각적 문자로 변환
- 8. 모든 유니 코드 문자를 특정 문자로 변환
- 9. 다른 유니 코드 문자로 가장 긴 String을 만드는 방법
- 10. char *를 유니 코드 std :: string으로 변환
- 11. std :: string을 basic_ostream로 변환 하시겠습니까?
- 12. QString/std :: string을 QImage로 변환
- 13. 유니 코드 문자열을 문자열로 변환
- 14. android의 유니 코드 변환
- 15. VB.NET에서 16 진 코드 포인트를 유니 코드 문자로 변환
- 16. 유니 코드를 루비 문자로 변환
- 17. Lucene 유니 코드 문자로 검색
- 18. Vim이 유니 코드 문자로 바꾸기
- 19. 유니 코드 문자열에서 중국어 문자로
- 20. 유니 코드 문자로 DocumentFilter.replace 사용
- 21. 날짜를 std :: string을 QuantLib :: Date 객체로 변환
- 22. std :: string을 c-string 모스키토로 변환
- 23. std :: string을 boost :: posix_time :: ptime으로 변환
- 24. std :: string을 C 문자열의 배열로 변환
- 25. std :: string을 한 로케일에서 다른 로케일로 변환
- 26. IOS에서 각각의 언어 문자를 유니 코드 문자로 변환
- 27. 유니 코드 기호를 키릴 문자로 변환 할 수 없습니다.
- 28. wxWidgets 및 유니 코드 코드 포인트와의 변환
- 29. 펄 유니 코드 변환
- 30. 유니 코드 변환 문제
"유니 코드 문자"라고 할 때 인코딩은 무엇입니까? UTF-8이면 더 이상 할 일이 없습니다. –
어떤 진전을 만들기 전에 텍스트 인코딩이 무엇인지 알아야합니다. 당신이 그것을 알기 전까지는, 아무 것도하지 않는 것이 무의미합니다. –