Bagaimana saya bisa mengkonversi karakter ke kode ASCII menggunakan JavaScript?
Sebagai contoh:
dapatkan 10 dari "\ n".
javascript
levik
sumber
sumber
Jawaban:
sumber
String.fromCharCode(10)
.0
(nilai argumen pertama) - cukup"\n".charCodeAt()
lakukan.String.fromCharCode( asciiNumVal )
,stringInstance.charCodeAt( index )
adalah tidak metode statis kelas StringString.prototype.charCodeAt()
dapat mengonversi karakter string ke angka ASCII. Sebagai contoh:Untuk penggunaan sebaliknya
String.fromCharCode(10)
, ubah angka menjadi karakter ASCII yang sama. Fungsi ini dapat menerima beberapa angka dan bergabung dengan semua karakter kemudian mengembalikan string. Contoh:Berikut adalah referensi karakter ASCII cepat:
sumber
C:\> man ascii
memberikanBad command or file name
Jika Anda hanya memiliki satu char dan bukan string, Anda dapat menggunakan:
menghilangkan 0 ...
Itu lebih lambat. Dengan versi chrome saat ini, ini lebih lambat 5 kali.
sumber
Sementara jawaban lainnya benar, saya lebih suka cara ini:
Kemudian, untuk menggunakannya, cukup:
Saya menggunakan ini untuk sistem pintas kecil:
Dan Anda bahkan dapat menggunakannya di dalam peta () atau metode lain:
sumber
const ascii = a => a.charCodeAt(0);
Bagi mereka yang ingin mendapatkan jumlah semua kode ASCII untuk sebuah string:
Atau, ES6:
sumber
[...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)
JavaScript menyimpan string sebagai
UTF-16
(byte ganda) jadi jika Anda ingin mengabaikan byte kedua, hapus saja dengan&
operator bitwise0000000011111111
(mis. 255):sumber
Untuk memastikan dukungan Unicode dan reversibilitas penuh, pertimbangkan untuk menggunakan:
Ini akan memastikan bahwa ketika menguji karakter melebihi batas UTF-16, Anda akan mendapatkan nilai poin kode mereka yang sebenarnya.
misalnya
sumber
Anda dapat memasukkan karakter dan mendapatkan Kode Ascii Menggunakan Kode ini
Misalnya Masukkan Karakter Seperti A Anda Mendapatkan Kode Ascii 65
sumber
Untuk mendukung semua UTF-16 (juga karakter non-BMP / tambahan ) dari ES6, metode string.codePointAt () tersedia;
Metode ini adalah versi perbaikan dari charCodeAt yang hanya dapat mendukung kode titik unicode <65536 (2 16 - 16bit tunggal).
sumber
String.prototype.codePointAt()
yang tidak didukung oleh setiap versi Internet Explorer . (Namun didukung di Edge.) Anda bisa mendapatkan polyfill di sini .