[dd640b5880bcc8342d2c59a252e1323a657e2ae3]

Branchless UTF-8

https://nullprogram.com/blog/2017/10/06/
https://nrk.neocities.org/articles/utf8-pext
https://cceckman.com/writing/branchless-utf8-encoding/
Подборка решений по branchless UTF-8 декодированию и кодированию.

[оставить комментарий]
комментарий 0:
From: Yarik Sysoev
Date: 2026-09-08 14:28:47Z

заглянул в Unicode.jai, там на lookup-табличку не скупились :)

trailingBytesForUTF8 :: u8.[
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
     1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
     2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5
];

Не помню, делился ли уже, но по смежной теме есть вот такая интересная
страница. Вряд ли супер практично в современности, но некоторые трюки
выглядят красиво (как бы многие не хотели верить, что программирование
не является искусством):
https://graphics.stanford.edu/~seander/bithacks.html
комментарий 1:
From: Sergey Matveev
Date: 2026-09-09 08:48:39Z

*** Yarik Sysoev [2026-09-08 17:12]:
>заглянул в Unicode.jai, там на lookup-табличку не скупились :)

Мне именно этот подход настолько понравился, что я в свой KEKS вчера
скопировал подобную реализацию (благо, он public domain):
http://www.git.stargrave.org/?p=keks.git&b=master&h=4f7dd049ab6215c01557ffba93cccaab684110e9e58aea3d57aa91f730d8ba43
Хотя... признаю, что не самый human-reviewable код.

>https://graphics.stanford.edu/~seander/bithacks.html

Ни дома, ни на работе не открывается. Но, когда то видел её, посчитал
интересной/полезной, сохранил на диск, ведь в Интернете всё что угодно
может пропасть когда угодно (как сейчас например :-)).

    ~ % cd ~/doc
    ~/doc % f bithack
    ./article/c/bithacks.html.url
    ./article/c/bithacks.html

>Вряд ли супер практично в современности, но некоторые трюки
>выглядят красиво (как бы многие не хотели верить, что программирование не
>является искусством):

Пару-тройку я оттуда точно использовал. И мы с коллегой именно так же
подумали: красиво!