01/10/2018, 11:29
Lấy chính xác độ dài string unicode
Chào ae, mình đang gặp 1 vấn đề này,
mình có 1 string tiếng việt là :“TRỨNG PS”.
string str = "Trứng PS";
size_t len = str.length();
size_t sz = str.size();
thì cả 2 đều trả về là 10 trong khi mong muốn output là 8, debug thì thấy chuỗi là: “TRỨNG PS”
mình có dùng thư viện codevt
std::wstring_convert< std::codecvt_utf8<unsigned int>, unsigned int > conv;
size_t sizeOfString = conv.from_bytes(str).size();
thì đúng kết quả là 8
Nhưng khốn nỗi chỉ trên win32, khi mình build android thì báo ko có thư viện. Ae có giải pháp gì ko, giúp mình với. Thanks ae
Bài liên quan
Có vẻ biến thể w và locale của các class, method trong stl không tồn tại trên Android. Kiểu này chắc bạn phải kiếm thư viện ngoài chỉ để xử lý chuỗi UTF8 thôi.
http://site.icu-project.org/
https://www.qt.io/ (QString)
https://github.com/nemtrif/utfcpp