Тут нормально будет использовать String.prototype.charCodeAt и рассматривать результат как 4 байта. Вся побитовая арифметика завязана именно на 4 байта. Непосредственная работа с utf-8 тут не оправдана как и использование для реализации 16-байтовой арифметики через операции над отдельными байтами(когда можно использовать сразу 4 байта).
|