Murphy's World @ home

server holyghost alias dyndns.murphys-world.de

START
Projekt Murphy's CMSmini JavaScript TIPPS & TRICKS GeoCaching
NEWS TERMINE FUNSTUFF LINKS
VIP-BEREICH KONTAKT IMPRESSUM

JavaScript Tipps & Tricks
String-Funktionen byteunit2() und byteunit10()

Beschreibung:

Wenn es darum geht, Datei- oder Speichergrößen auszugeben, ist eine Angabe wie z.B, 224814 Byte nicht so einprägsam wie 219,5 KiB oder 224,8 KB.

Mit den beiden nachfolgenden Funktionen wird eine Byteangabe abhängig von ihrer Größe in die Größeneinheit mit dem optimal passenden Präfix umgerechnet. Es sind zwei Funktionen, da man zwischen IEC-konformen Angaben mit Binärpräfixen (Potenzen zur Basis 2) und pseudo-SI-konformen Angaben mit Dezimalpräfixen (Potenzen zur Basis 10) unterscheiden muss, deren Wert mit größer werdendem Präfix auch immer weiter auseinander driftet (siehe Tabelle)

Die Funktionen erwarten jeweils einen Parameter mit der Größenangabe als Integerzahl.

 

Dezimalpräfixe
pseudo-SI-konform
prozentualer
Unterschied
Binärpräfixe
IEC-konform
Name (Symbol) Bedeutung gerundet Name (Symbol) Bedeutung
Kilobyte (KB) 103 Byte = 1.000 Byte 2,40% Kibibyte (KiB) 210 Byte = 1.024 Byte
Megabyte (MB) 106 Byte = 1.000.000 Byte 4,86% Mebibyte (MiB) 220 Byte = 1.048 576 Byte
Gigabyte (GB) 109 Byte = 1.000.000.000 Byte 7,37% Gibibyte (GiB) 230 Byte = 1.073.741 824 Byte
Terabyte (TB) 1012 Byte = 1.000.000.000.000 Byte 9,95% Tebibyte (TiB) 240 Byte = 1.099.511.627.776 Byte
Petabyte (PB) 1015 Byte = 1.000.000.000.000.000 Byte 12,6% Pebibyte (PiB) 250 Byte = 1.125.899.906.842.624 Byte

Quelle: http://de.wikipedia.org/wiki/Byte

 

Syntax:

string byteunit2 ( integer size )
string byteunit10 ( integer size )

 

Übergabewerte:

size = die umzurechnende Speichergröße

 

Quelltext:

ab JavaScript 1.0

function byteunit2(s) {
r=
(s>1048523571?(s/1073741824).toFixed(1)+' GiB':
(s>1023948?(s/1048576).toFixed(1)+' MiB':
(s>999?(s/1024).toFixed(1)+' KiB':s+' B')));
return r.replace(/\./g,',');
}

function byteunit10(s) {
r=
(s>999949999?(s/1000000000).toFixed(1)+' GB':
(s>999949?(s/1000000).toFixed(1)+' MB':
(s>999?(s/1000).toFixed(1)+' KB':s+' B')));
return r.replace(/\./g,',');
}

 

Beispiel:

Eingabe

<script type="text/javascript">
alert (
  byteunit2 ( 30141 ) + " ~ " + byteunit10 ( 30141 ) + "\n" +
 byteunit2 ( 1759076 ) + " ~ " + byteunit10 ( 1759076 ) ); </script>

Ausgabe

29,4 KiB ~ 30,1 KB
1,7 MiB ~ 1,8 MB

 

Lizenzbestimmungen:

Die auf dieser Seite notierten Scripte byteunit2() und byteunit10() sind Public Domain.

 

Zurück zur JavaScript Funktionsübersicht

 

© 2026 Murphy's World     Alle Rechte vorbehalten     Impressum