Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Представление текста как массив байтов (https://javascript.ru/forum/offtopic/12888-predstavlenie-teksta-kak-massiv-bajjtov.html)

Kolyaj 08.11.2010 09:31

Строки в файлах на диске тоже хранятся в виде байтов. Для этого и придумали кодировки. Вы сейчас, возможно сами того не ведая, придумали себе свою собственную кодировку. Если вам эти байты отдавать потом куда-то другим программам, то я бы лучше сделал перекодировку в UTF-8, её описание есть на той же википедии.

Я в подобной задаче использовал похожую на UTF кодировку, но чуть проще. Двоичное представление числа делится на отрезки по 7 бит, начиная справа. Каждый отрезок становится байтом. Далее каждому байту старший разряд устанавливается в 1, кроме последнего, у которого будет 0.
При раскодировке смотрим первый бит очередного байта, если он равен 1, то число ещё не кончилось, надо смотреть следующий байт. Когда все нужные байты собраны, отбрасываем у них старшие биты и собираем число.

tenshi 08.11.2010 09:51

в ютф8 разве не так же? о0

Kolyaj 08.11.2010 09:53

Не, там метки малость другие. http://ru.wikipedia.org/wiki/UTF-8

tenshi 08.11.2010 09:58

"в формате UTF-8 символы латинского алфавита, знаки препинания и управляющие символы ASCII записываются кодами US-ASCII, a все остальные символы кодируются при помощи нескольких октетов со старшим битом 1. "

Kolyaj 08.11.2010 10:00

В UTF все октеты имеют старший бит 1, а у меня все, кроме последнего.

tenshi 08.11.2010 10:00

а, просёк, там используется лишний бит для разделения юникода от аски


Часовой пояс GMT +3, время: 13:15.