Как преобразовать строку ASCII std :: в UTF8 (Unicode) std :: string в C++?Как преобразовать строку ASCII в строку UTF8 в C++?
ответ
Я предполагаю, что по ASCII вы имеете в виду CP1252 или другой 8-битный набор символов (ASCII - всего 7 бит и он напрямую совместим с UTF-8, не требуется никакого преобразования). Стандартный C++ не может этого сделать. Вам нужно, например, Glibmm, Qt, iconv или WINAPI для этого.
std::string ASCIIToUTF8(std::string str) {
return str;
}
Каждый символ ASCII имеет такое же представление в UTF8, поэтому преобразовать нечего. Конечно, если входная строка использует расширенный (8-разрядный) набор символов ASCII, ответ более сложный.
Могу ли я преобразовать строку ASCII в строку Unicode. – Eduardo
Термин «расширенный ASCII» в основном использовался только для CP437 (или других MS- DOS), которая почти вымерла в эти дни. – Tronic
@Tronic: Правда, но в любом случае любой 8-битный набор символов, являющийся расширением ASCII, представляет собой расширенный набор символов ASCII. :) – jalf
ASCII является семибитным кодированием и идентично отображает кодировку UTF-8 подмножества символов, которые могут быть представлены в ASCII.
Короче говоря, нечего делать. Ваша строка ASCII уже действительна UTF-8.
- 1. Преобразовать строку в utf8 строку
- 2. Как преобразовать UTF8 в строку в C#
- 3. преобразовать строку UTF8 в строку UTF16 в C++
- 4. Как преобразовать строку в UTF8?
- 5. Как преобразовать строку в строку ASCII, как в C?
- 6. Как преобразовать строку в UTF8 в Ruby
- 7. Как преобразовать правильную строку в шестнадцатеричную строку ASCII в C#?
- 8. Преобразовать значения ASCII в строку
- 9. как преобразовать строку в ASCII в .NET
- 10. C++ конвертировать ASII escaped строку unicode в строку utf8
- 11. Как преобразовать вектор байта ascii в строку?
- 12. Как преобразовать строку UCS2 в UTF8?
- 13. Как преобразовать строку в кодировку utf8?
- 14. Как преобразовать строку UTF8 в массив байтов?
- 15. Как преобразовать строку utf8 в [] byte?
- 16. Как преобразовать строку ascii в двоичную?
- 17. Как преобразовать строку в длинную или другую строку значений ascii?
- 18. Как преобразовать широкую строку в ASCII
- 19. Как преобразовать utf8 как строку в реальный utf8?
- 20. Как преобразовать строку UTF8 в значение float в объекте-c
- 21. Как преобразовать шестнадцатеричную строку в строку ascii в Lua
- 22. Как преобразовать (транслитерировать) строку из utf8 в ASCII (один байт) в C#?
- 23. javascript - как преобразовать строку unicode в ascii
- 24. как преобразовать строку в шестнадцатеричном коде ASCII в C
- 25. преобразовать массив символов ASCII в строку UNICODE
- 26. Преобразовать набор символов ASCII обратно в строку
- 27. Как преобразовать любую строку в побитовую инвертированную строку ASCII?
- 28. преобразовать арабскую строку в utf8 закодированного URL
- 29. Как преобразовать строку в char в C
- 30. C# преобразовать строку в uint
Это большое предположение. CP1252 очень специфичен для платформы, и в этом вопросе нет никаких признаков платформы. –
Вот почему я сказал «или другое». Однако, похоже, что пользователи Windows больше всего не знают о наборах символов. Одним из больших преимуществ использования CP1252 при преобразовании из 8 бит является то, что он также совместим с ISO-8859-1 (но не наоборот). – Tronic
Какой странный комментарий. Кодовая страница 1252 - это очень специфичная для Windows кодировка. Говоря о том, что пользователи Windows «самые неосведомленные» о конкретных деталях реализации Windows, erm, не знают. –