требует всего лишь 21 бит?
на юникод два байта, откуда 21 бит?
Может прямо с маркерными битами хранится? Тогда 32 бита в худшем варианте как раз.
А [u8; 3] имеет C abi?
так ты не в UCS-2 кодируй, а scalar value бери 0x10FFFF = 02077777777 = 0b10000111111111111111111111111 The char type represents a single character. More specifically, since 'character' isn't a well-defined concept in Unicode, char is a 'Unicode scalar value', which is similar to, but not the same as, a 'Unicode code point'. https://doc.rust-lang.org/std/primitive.char.html
потому что в юникоде чары от 1 до 4 байт
Обсуждают сегодня