• XSS.stack #1 – первый литературный журнал от юзеров форума

Из чего состоит wchar?

в memcmp впихни и посмотри
Зачем мне это делать?
Да и зачем винде перед каждым символом 0 ставить,просто так ,чтобы память лишнюю сжирать?
Чем тогда wchar будет отличатся от ansi,только наличием 0 перед символом - ты серьезно?
 
Конкретно wchar = word = 2*byte, конкретно L"abc" выглядет так как ты и написал, кириллица уже будет по другому, но тоже по 2 байта на символ, залупу с UTF-XX вообще не рассматриваю т.к это дичь и вообще хп и 32 бита онли, драйвера без подписи и все такое :cool:
 
Пожалуйста, обратите внимание, что пользователь заблокирован
wchar = word = 2*byte
эм... а на никсах это не таг.

Это компайлер специфик.

Я с одним дурачком спорю тут
чтобы быть уверенным что он дурачек надо уточнить систему, на которой тестите, а то можно оказаться в подливе.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Скомпилируй, открой в дизассемблере и увидишь, как там и что
Это не тру подход. Читайте доки к компилеру. Знай свой инструмент.
 
Зачем мне это делать?
Да и зачем винде перед каждым символом 0 ставить,просто так ,чтобы память лишнюю сжирать?
Чем тогда wchar будет отличатся от ansi,только наличием 0 перед символом - ты серьезно?

Вообще всё намного сложнее, чем ты думаешь)
Всё зависит от архитектуры. С char - окей, есть стандарт в 1 байт, поэтому и появился в принципе std::byte. Однако в wide char, 0 разрешает использовать 2 байта на символ. В таком случае символ будет выглядеть типа "0x00BB". Вся винда устроена на этом и не знать этого - оскорбительно.

Также, советую углубиться в понимание разницы между char и wide char. А конкретно, обрати внимание на конвертацию. Много нового узнаешь)
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх