我是C++新手,來自非CS背景。因此,如果這個問題很愚蠢或者之前已經回答,請原諒我。如何檢查C++中字符的unicode值的範圍
我在C++中有一個字符串,語言是泰盧固語。
std::string str = "ఉంది"; // (it means exists; pronounced as Vundi)
std::string substring = str.substr(0,3);
上面的子字符串是「ఉ」(發音爲Vu),它的Unicode十六進制值是0C09。
如何從子字符串獲得值0C09? 目的是檢查子字符串是否在泰盧固語(0C00-0C7F)的有效範圍內。
我看過其他問題,它們適用於obj-c,java,php,c#等。我正在尋找使用std :: string的C++。
根據評論我已閱讀文章joelonsoftware.com/articles/Unicode.html。
讓我用更多信息更新我的問題。 我使用的是Fedora 19 x86_64,編碼是UTF-8。控制檯能夠正確顯示文本。
根據文章,如果我正確理解ASCII是單字節字符和Unicode是多字節字符。上面的代碼示例反映了這一點,這裏每個unicode字符的長度爲3個字節。除了談論UTF-8 /文本編碼和多字節字符外,本文對檢測unicode字符串的語言沒有提供實際的幫助。
可能是我應該改一下我的問題:
我如何檢測在C++ unicode字符串語言?
在此先感謝您的幫助。使用
看起來您需要了解文本編碼。關於這個主題,這是一篇不錯的文章:http://www.joelonsoftware.com/articles/Unicode.html瞭解這篇文章將使*更容易處理您面臨的問題。我推薦它:) –
感謝您的信息和及時的答覆。我會閱讀文章。 – user3014442