Примечание: я пытаюсь написать свою собственную функцию, которая выполняет эту конверсию
Я понимаю, что char - 1 Байт, в то время как wchar_t < /code> составляет 2 байта. P> 1) Введите текст < /p>
Hello, world
< /code>
2) Получить байты строки < /p>
48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21
< /code>
3) выделяйте память вдвое больше, чем количество байтов < /p>
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
< /code>
4) заполните байт со значением ANSI, пропуская один байт за раз < /p>
48 00 65 00 6c 00 6c 00 6f 00 2c 00 20 00 77 00 6f 00 72 00 6c 00 64 00 21 00
< /code>
У меня есть несколько вопросов об этом процессе: < /strong> < /p>
1) может Я просто бросаю строку ANSI в Unicode и реплицирует ее точный процесс выше, или она просто заполнит первую половину байтов байтами ANSI, а остальные оставляют до 0? < /P>
char a[] = { "Hello, world!" };
wchar_t* b = reinterpret_cast(a);
< /code>
2) Просмотр функции Multibytetowidechar, я вижу аргумент CodePage < /code>, и мне интересно, что это такое. Разве конверсия не совсем то же самое (как я понимаю и выписал выше)? Я думал, что коды символов ASCII были одинаковыми повсюду, но этот аргумент, похоже, говорит иначе, если я правильно понимаю из того факта, что он имеет значения для Mac и Windows.
Подробнее здесь: https://stackoverflow.com/questions/623 ... to-unicode
Преобразование C-String в Unicode ⇐ C++
Программы на C++. Форум разработчиков
1739535476
Anonymous
[b] Примечание: [/b] я пытаюсь написать свою собственную функцию, которая выполняет эту конверсию
Я понимаю, что char - 1 Байт, в то время как wchar_t < /code> составляет 2 байта. P> 1) Введите текст < /p>
Hello, world
< /code>
2) Получить байты строки < /p>
48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21
< /code>
3) выделяйте память вдвое больше, чем количество байтов < /p>
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
< /code>
4) заполните байт со значением ANSI, пропуская один байт за раз < /p>
48 00 65 00 6c 00 6c 00 6f 00 2c 00 20 00 77 00 6f 00 72 00 6c 00 64 00 21 00
< /code>
У меня есть несколько вопросов об этом процессе: < /strong> < /p>
1) может Я просто бросаю строку ANSI в Unicode и реплицирует ее точный процесс выше, или она просто заполнит первую половину байтов байтами ANSI, а остальные оставляют до 0? < /P>
char a[] = { "Hello, world!" };
wchar_t* b = reinterpret_cast(a);
< /code>
2) Просмотр функции Multibytetowidechar, я вижу аргумент CodePage < /code>, и мне интересно, что это такое. Разве конверсия не совсем то же самое (как я понимаю и выписал выше)? Я думал, что коды символов ASCII были одинаковыми повсюду, но этот аргумент, похоже, говорит иначе, если я правильно понимаю из того факта, что он имеет значения для Mac и Windows.
Подробнее здесь: [url]https://stackoverflow.com/questions/62394594/converting-an-ansi-c-string-to-unicode[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия