Ugrás a tartalomra

Bit és Bájt Hosszúság Kalkulátor - Ingyenes Adatméret Eszköz

Számítsa ki a bitek és bájtok hosszát egész számokhoz, hexadecimális karakterláncokhoz és szövegekhez UTF-8, UTF-16, ASCII kódolásokkal. Ingyenes online eszköz fejlesztőknek, adattudósoknak és hálózatmérnököknek.

Bit és Bájt Hossz Kalkulátor

Beviteli Típus
bitek
8
bájtok
1

8 bitek = 1 bájtok

Vizualizáció

Bájt 1
11111111
0xFF
Betöltési kalkulátor...
📚

Dokumentáció

Mi az a bit- és bájthossz-kalkulátor?

A bit- és bájthossz-kalkulátor megállapítja, hogy egy adatrészletnek hány bitre és bájtra van szüksége. A bit egyetlen bináris számjegy, 0 vagy 1. A bájt 8 bitből álló csoport. A kalkulátor egész számot, hexadecimális karakterláncot vagy szöveges karakterláncot fogad el, és mindkét mértékegységben megadja a pontos méretet.

Ez a programozás, a hálózatkezelés és az adattárolás szempontjából fontos. Egy adatbázisoszlop, egy hálózati csomag és egy lemezen tárolt fájl méretét bájtban mérik, ez a méret pedig attól függ, hogyan írják le az adatokat.

Egy egész szám bit hosszának kiszámítása

Egy pozitív egész szám bithossza a bináris alakjában szereplő számjegyek száma. Például 255 binárisan 11111111, amely 8 számjegyből áll, így a bit hossza 8.

Képlet: egy pozitív n egész szám bithossza az n alap-2-es alakjában szereplő számjegyek száma. A különleges n = 0 esetében a bithossz 1.

A negatív egész számok kettes komplemensű ábrázolást használnak, amely az előjeles számok számítógépes tárolásának szabványos módja. Egy negatív egész szám bithossza a kettes komplemensű alakban való tárolásához szükséges legkisebb bitszám. Például −128 elfér 8 biten (alakja 10000000), −129 azonban 9 bitet igényel, mert 8 bit csak −128-ig képes eljutni.

Ha a bithossz ismert, a bájthossz a legközelebbi egész bájtra felfelé kerekítve határozható meg:

Bájthossz = ⌈bithossz ÷ 8⌉

A ⌈ ⌉ jelölés jelentése: „felfelé kerekítés”. Egy 9 bites értékhez továbbra is 2 teljes bájt szükséges, mert egy bájt nem osztható fel.

Megoldott példa

Egész számBithosszBájthossz
011
25581
25692
−12881
−12992
18,446,744,073,709,551,615 (2⁶⁴ − 1)648

Hexadecimális karakterlánc bit hosszának kiszámítása

Minden hexadecimális számjegy (0–9, A–F) pontosan 4 bitet jelöl, mivel 4 bit 16 lehetséges értéket képes tárolni.

Képlet: bithossz = hexadecimális számjegyek száma × 4. A bájthossz ismét a bithossz 8-cal való osztásának felfelé kerekített eredménye.

Például az „FF” hexadecimális karakterláncban 2 számjegy van, így a bithossza 2 × 4 = 8 bit, azaz 1 bájt. Az „ABCD” hexadecimális karakterláncban 4 számjegy van, ami 16 bitet, azaz 2 bájtot jelent. A szóközöket és az egyéb üres karaktereket a számlálás előtt eltávolítják. A páratlan számú számjegyet is felfelé kerekítik egy egész bájtra: az „F” 4 bit, amelyet a kalkulátor 1 bájtként ad meg.

Szöveges karakterlánc bájthosszának kiszámítása

Szöveg esetén a méret a karakterkódolástól, vagyis a karakterek bájtokká alakításának szabályától függ. A kalkulátor öt kódolást támogat:

  • UTF-8: változó hosszúságú kódolás, amelyet az interneten széles körben használnak. Minden karakter 1–4 bájtot foglal. Az egyszerű angol betűk, számjegyek és írásjelek egyenként 1 bájtot foglalnak.
  • UTF-16: a JavaScript és a Windows belsőleg ezt használja. A legtöbb karakter 2 bájtot foglal; az alapszintű többnyelvű síkon kívüli karakterek, például sok emoji, 4 bájtot igényelnek.
  • UTF-32: rögzített hosszúságú kódolás. Minden karakter pontosan 4 bájtot foglal, függetlenül attól, hogy melyik karakterről van szó.
  • ASCII: 7 bites kódolás, amely 128 karaktert, főként angol betűket, számjegyeket és alapvető írásjeleket tartalmaz. Minden karakter 1 bájtot foglal. A készleten kívüli karaktereket elutasítja.
  • Latin-1 (ISO-8859-1): 8 bites kódolás, amely 256 karaktert tartalmaz, beleértve a nyugat-európai nyelvekben használt ékezetes betűket is. Minden karakter 1 bájtot foglal. A készleten kívüli karaktereket elutasítja.

Képlet: bájthossz = a kódolás által a karakterlánchoz előállított bájtok száma. Bithossz = bájthossz × 8.

A számítások csak magát a szöveget fedik le. Nem adnak hozzá bájtsorrendjelet, ezért egy itt kapott UTF-16- vagy UTF-32-érték 2, illetve 4 bájttal kisebb annál, amelyet a kezdő jelölést kiíró eszköz ad.

Megoldott példa

A „Hello, world!” szövegben 13 karakter található, amelyek mind egyszerű ASCII-betűk vagy írásjelek.

  • UTF-8: 13 bájt (104 bit), mivel minden karakter elfér 1 bájton.
  • UTF-16: 26 bájt (208 bit), mivel minden karakter 2 bájtot foglal.

A „こんにちは世界” szöveg (hét japán karakter) karakterenként 3 bájtot foglal UTF-8 kódolásban, így összesen 21 bájt (168 bit).

Egy olyan emoji, mint a 😀, az alapszintű többnyelvű síkon kívül esik. UTF-8 kódolásban 4 bájtot, UTF-16 kódolásban (helyettesítőpárként) 4 bájtot, UTF-32 kódolásban pedig 4 bájtot foglal.

Miért változtatják meg az előjeles egész számok az eredményt?

A számítógépek a negatív számokat nem egyszerű mínuszjellel, hanem kettes komplemensű ábrázolással tárolják. Ez azt jelenti, hogy egy negatív egész szám bithossza nem egyszerűen a szám abszolút értékének bithossza plusz egy. A szabály a következő: a bithossz a legkisebb olyan k bitszám, amelyre az érték legalább −2^(k−1). Ezért fér el −128 (ami −2⁷-tel egyenlő) 8 biten, míg −129 9 bitet igényel.

Gyakran ismételt kérdések

Hogyan alakíthatom át a bájtokat bitekké? Szorozza meg 8-cal. Tíz bájt 80 bitnek felel meg, mert definíció szerint minden bájt 8 bitet tartalmaz.

Mi a különbség a bithossz és a bájthossz között? A bithossz az egyes bináris számjegyeket számolja. A bájthossz 8 bites csoportokat számol, a következő teljes bájtra felfelé kerekítve, ha a bithossz nem 8 többszöröse.

Hány bájtot használ egy UTF-8 karakter? 1 és 4 között. Az ASCII-val közös karakterek 1 bájtot használnak. Sok ékezetes latin, görög és cirill karakter 2 bájtot foglal. A legtöbb kínai, japán és koreai karakter 3 bájtot használ. Az emojik és más ritka szimbólumok 4 bájtot foglalnak.

Hogyan számítják ki egy hexadecimális karakterlánc bájthosszát? A szóközök eltávolítása után számolja meg a hexadecimális számjegyeket, szorozza meg 4-gyel a bitszám meghatározásához, majd kerekítsen felfelé egész bájtokra. Egy bájt 2 hexadecimális számjegy, ezért az „FF” 1 bájt, az „ABCD” pedig 2 bájt. Egyetlen számjegy, például az „F”, 4 bit, és így is 1 bájtot foglal.

Miért igényel egy negatív egész szám néha több bitet, mint a pozitív párja? A kettes komplemensű ábrázolás egy bitet használ az előjel jelölésére, de ez a bit az értéktartomány része, nem pedig minden esetben azon felül hozzáadott bit. −128 ugyanannyi, 8 biten fér el, mint a legfeljebb 127 értékű pozitív számok, −129 azonban már nem fér el 8 biten, és 9 bitet igényel.

Milyen bemeneti méreteket fogad el ez a kalkulátor? Egész számokat, hexadecimális karakterláncokat és legfeljebb 1 000 000 karakter hosszúságú szöveges karakterláncokat.

Hivatkozások

  1. "Character encoding." Wikipédia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Character_encoding
  2. "UTF-8, UTF-16, UTF-32 & BOM." Unicode, Inc. https://www.unicode.org/faq/utf_bom.html
  3. "Two's complement." Wikipédia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Two%27s_complement