Кто-нибудь знает, как посчитать количество байтов в строке? - PullRequest
0 голосов
/ 27 июля 2011

Если у меня есть строка в JavaScript, как лучше всего подсчитать количество байтов или битов, которые занимает строка?

Моя первая мысль состоит в том, что, поскольку спецификация EcmaScript (5.1) в 8.4 гласит, что строковые элементы в EcmaScript состоят из 16-битных значений и что языки используют кодировку символов UTF-16, я должен получить десятичное представление этого charCodeAt), разделите это на два, напишите результат, и Боб будет братом вашего отца.

Но если бы я должен был преобразовать каждый символ в двоичный (toString (2)), чтобы посчитать биты, могу ли я считать как 0, так и 1? Или только 1?

Из того, что я прочитал в Интернете (и информации немного), я думаю, что-то вроде:

Math.floor("A".charCodeAt(0) / 2); // 32 bits... No?

Ответы [ 2 ]

3 голосов
/ 27 июля 2011

Гм, если каждый элемент в строке равен 16 битам, не будет ли количество бит, которое занимает строка, просто строкой. Длина * 16?

2 голосов
/ 28 июля 2011

@ Чарли. 01000001 - это просто 8 бит? Здорово. Можете ли вы превратить это в ответ, чтобы я мог голосовать?

Точно, см. Ниже.

Вам нужно считать как 0, так и 1, если кто-то просит вас просто посчитать биты. Помните, что «бит» в глубине души является мерой информационного наполнения. Итак, если у вас есть поле с информационным содержанием 16 бит, это означает, что существует 2 ^ 16 возможных конфигураций, из которых ваша текущая конфигурация только одна. Ваша битовая строка является одной из этих конфигураций, но вам нужно, чтобы нули отличались от других конфигураций с 16 битами. - Чарли Мартин вчера

также, знаете ли вы какие-нибудь хорошие книги о этот? Я самоучка (до университета в следующем году). :) - Том вчера

Честно говоря, нет. Я погуглил кое-что, и я продолжаю получать вещи, которые учат, как включить компьютер, то, что вы явно уже освоили. Вы можете попробовать Думайте как ученый .

...