Как я могу преобразовать символ в код ASCII, используя JavaScript?
Например:
получить 10 от "\ n".
javascript
Левик
источник
источник
Ответы:
источник
String.fromCharCode(10)
.0
(значение первого аргумента) - просто"\n".charCodeAt()
подойдет.String.fromCharCode( asciiNumVal )
,stringInstance.charCodeAt( index )
это не статический метод класса StringString.prototype.charCodeAt()
может преобразовывать строковые символы в числа ASCII. Например:Для противоположного использования,
String.fromCharCode(10)
которые преобразуют числа в равный символ ASCII. Эта функция может принимать несколько чисел и объединять все символы, а затем возвращать строку. Пример:Вот краткий справочник по символам ASCII:
источник
C:\> man ascii
даетBad command or file name
Если у вас есть только один символ, а не строка, вы можете использовать:
опуская 0 ...
Это медленнее, хотя. С текущей версией хрома она в 5 раз медленнее.
источник
Хотя остальные ответы верны, я предпочитаю так:
Тогда, чтобы использовать это, просто:
Я использую это для небольшой системы быстрого доступа:
И вы даже можете использовать его внутри map () или другими методами:
источник
const ascii = a => a.charCodeAt(0);
Для тех, кто хочет получить сумму всех кодов ASCII для строки:
Или ES6:
источник
[...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)
JavaScript хранит строки в виде
UTF-16
(двухбайтовых), поэтому, если вы хотите игнорировать второй байт, просто удалите его с помощью побитового&
оператора0000000011111111
(например, 255):источник
Чтобы обеспечить полную поддержку и обратимость Unicode, рассмотрите возможность использования:
Это гарантирует, что при тестировании символов сверх предела UTF-16 вы получите их истинное значение кодовой точки.
например
источник
Вы можете ввести символ и получить код Ascii, используя этот код
Например, введите символ, подобный A, вы получите код Ascii 65
источник
Для поддержки всех UTF-16 (также не-BMP / дополнительных символов ) из ES6 в string.codePointAt () метод ;
Этот метод является улучшенной версией charCodeAt, которая может поддерживать только кодовые точки Unicode <65536 (2 16 - один 16-битный).
источник
String.prototype.codePointAt()
это не поддерживается ни в версиях Internet Explorer . (Однако это поддерживается в Edge.) Вы можете получить полифилл здесь .