Nasıl kullanılır
- Metni ondalık sayılara dönüştürmek için "Kodla", sayıları yeniden metne dönüştürmek için "Kodu çöz" seçeneğini seçin.
- Girdinizi yazın veya yapıştırın ya da bir dosya açın. Sonuç siz yazarken güncellenir.
- Sayılar için bir ayırıcı seçin: "Boşluk", "Virgül" veya "Yeni satır".
- Sayıları kopyalayın veya dosya olarak indirin.
Ondalık bayt değerleri ve ASCII kodları
Bilgisayardaki her karakter bir veya daha fazla bayt olarak saklanır ve bir bayt yalnızca 0 ile 255 arasında bir sayıdır. Bu araç bu sayıların her birini olağan ondalık gösterimle yazar. İngilizce metinlerde bu sayılar bilinen ASCII kodlarıdır: büyük harfler 65'ten 90'a, küçük harfler 97'den 122'ye, 0-9 rakamları 48'den 57'ye kadar uzanır ve boşluk 32'dir. Denetim karakterleri 32'nin altında yer alır; örneğin satır besleme 10, satır başı ise 13'tür.
Sonuç, Python'da ord() ile ya da JavaScript'te bir Uint8Array okuyarak elde ettiğiniz listeyle aynıdır ve bir dizedeki görünmez karakterleri, satır sonlarını veya bayt sırası işaretini (BOM) fark etmenin pratik bir yoludur.
Tek büyük sayı değil, bayt başına bir sayı
Dönüştürme bayt bayt çalışır: iki harfli bir kelime tek bir tam sayıya değil, iki sayıya dönüşür. 127'nin üzerindeki değerler ASCII metinlerinde hiçbir zaman görünmez. UTF-8'de bu değerler, birlikte tek bir karakter oluşturan iki ila dört baytlık diziler hâlinde gelir; aksanlı bir harfin veya bir Çince karakterin birden fazla sayı üretmesinin nedeni budur. Batı Avrupa metinlerinde karakter başına tek bir değer için, her bayt değerinin karakterin Unicode kod noktasına eşit olduğu ISO-8859-1'i ya da Windows-1252'yi seçin.
Bunun yerine tek bir sayıyı tabanlar arasında dönüştürmek, örneğin 255'i onaltılık tabana çevirmek için sayı tabanı dönüştürücüsünü kullanın. Aynı baytları başka gösterimlerde görmek için onaltılık veya ikili araçlarını deneyin.
Kodda ondalık bayt değerleri
# Python
list('Hi'.encode()) # [72, 105]
bytes([72, 105]).decode() # 'Hi'
// JavaScript
[...new TextEncoder().encode('Hi')] // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105])) // 'Hi'
Teknik özellikler
| Alfabe | 0-9 |
|---|---|
| Çıktı boyutu | Bayt başına 1 ila 3 basamak, artı ayırıcılar |
| Dolgu | Yok |
| Standart | Ondalık bayt değerleri |
| Büyük/küçük harf duyarlı | Hayır |
Örnekler
| Girdi (UTF-8) | Çıktı |
|---|---|
Hello, World! | 72 101 108 108 111 44 32 87 111 114 108 100 33 |
Base64.is | 66 97 115 101 54 52 46 105 115 |
你好 | 228 189 160 229 165 189 |
Sıkça sorulan sorular
A harfinin ondalık ASCII kodu nedir?
Büyük A 65, küçük a ise 97'dir; bu hem ASCII'de hem de UTF-8'de geçerlidir. Sonraki her harf bir ekler; bu yüzden Z 90, z ise 122'dir.
Ondalık sayıların kodunu ayırıcı olmadan çözebilir miyim?
Hayır. 72105 gibi bir basamak dizisi birden fazla şekilde bölünebilir; bu nedenle kod çözücü sayıların boşluk, virgül, noktalı virgül veya satır sonlarıyla ayrılmasına ihtiyaç duyar. Baştaki sıfırlara izin verilir.
255'ten büyük sayılar neden hata veriyor?
Bir bayt 0 ile 255 arasındaki değerleri tutar. Euro işaretinin Unicode kod noktası olan 8364 gibi daha büyük sayılar bayt değeri değildir. Karakterin kendisini yazın ve baytlarını görmek için onu kodlayın, örneğin UTF-8 ile.
Tek bir karakter neden birkaç sayıya dönüşüyor?
UTF-8, ASCII dışındaki karakterleri iki, üç veya dört bayt olarak saklar ve her bayt kendi sayısına dönüşür. Batı Avrupa karakterlerinin her biri için tek bir sayıya ihtiyacınız varsa Windows-1252 gibi tek baytlık bir karakter kümesi seçin.