Chào mọi người,
Em là 1 lập trình viên mới trong lĩnh vực C++ và em muốn hỏi mọi người là có cách nào để có thể encode từ 1 chuỗi được định dạng sẵn từ ISO88591, UTF8, UTF16BE, UTF16LE, UTF16 sang chuỗi hex được không ạ? Tới thời điểm hiện tại thì em đã hoàn thành xong rồi nhưng vẫn còn 1 vấn đề là em không thể encode được các chuỗi có chữ tiếng Việt ạ.
Encode
int n = s.length();
for (int i = 0; i < n; i++)
{
wchar_t c = s[i];
long long val = long long(c);
std::cout << val << std::endl;
std::wstring bin;
while (val > 0)
{
(val % 2) ? bin.push_back('1') :
bin.push_back('0');
val /= 2;
}
reverse(bin.begin(), bin.end());
std::wcout << bin << std::endl;
result->append(convertBinToHex(bin));
}
Decode
int size = hex.length();
std::string ascii = "";
for (size_t i = 0; i < hex.length(); i += 4)
{
std::string part = hex.substr(i, 2);
char ch = std::stoul(part, nullptr, 16);
ascii += +ch;
}
return ascii;
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?