<?php /** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category Zend * @package Zend_Measure * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id$ */ /** * Implement needed classes */ require_once 'Zend/Measure/Abstract.php'; require_once 'Zend/Locale.php'; /** * Class for handling binary conversions * * @category Zend * @package Zend_Measure * @subpackage Zend_Measure_Binary * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ class Zend_Measure_Binary extends Zend_Measure_Abstract { const STANDARD = 'BYTE'; const BIT = 'BIT'; const CRUMB = 'CRUMB'; const NIBBLE = 'NIBBLE'; const BYTE = 'BYTE'; const KILOBYTE = 'KILOBYTE'; const KIBIBYTE = 'KIBIBYTE'; const KILO_BINARY_BYTE = 'KILO_BINARY_BYTE'; const KILOBYTE_SI = 'KILOBYTE_SI'; const MEGABYTE = 'MEGABYTE'; const MEBIBYTE = 'MEBIBYTE'; const MEGA_BINARY_BYTE = 'MEGA_BINARY_BYTE'; const MEGABYTE_SI = 'MEGABYTE_SI'; const GIGABYTE = 'GIGABYTE'; const GIBIBYTE = 'GIBIBYTE'; const GIGA_BINARY_BYTE = 'GIGA_BINARY_BYTE'; const GIGABYTE_SI = 'GIGABYTE_SI'; const TERABYTE = 'TERABYTE'; const TEBIBYTE = 'TEBIBYTE'; const TERA_BINARY_BYTE = 'TERA_BINARY_BYTE'; const TERABYTE_SI = 'TERABYTE_SI'; const PETABYTE = 'PETABYTE'; const PEBIBYTE = 'PEBIBYTE'; const PETA_BINARY_BYTE = 'PETA_BINARY_BYTE'; const PETABYTE_SI = 'PETABYTE_SI'; const EXABYTE = 'EXABYTE'; const EXBIBYTE = 'EXBIBYTE'; const EXA_BINARY_BYTE = 'EXA_BINARY_BYTE'; const EXABYTE_SI = 'EXABYTE_SI'; const ZETTABYTE = 'ZETTABYTE'; const ZEBIBYTE = 'ZEBIBYTE'; const ZETTA_BINARY_BYTE = 'ZETTA_BINARY_BYTE'; const ZETTABYTE_SI = 'ZETTABYTE_SI'; const YOTTABYTE = 'YOTTABYTE'; const YOBIBYTE = 'YOBIBYTE'; const YOTTA_BINARY_BYTE = 'YOTTA_BINARY_BYTE'; const YOTTABYTE_SI = 'YOTTABYTE_SI'; /** * Calculations for all binary units * * @var array */ protected $_units = array( 'BIT' => array('0.125', 'b'), 'CRUMB' => array('0.25', 'crumb'), 'NIBBLE' => array('0.5', 'nibble'), 'BYTE' => array('1', 'B'), 'KILOBYTE' => array('1024', 'kB'), 'KIBIBYTE' => array('1024', 'KiB'), 'KILO_BINARY_BYTE' => array('1024', 'KiB'), 'KILOBYTE_SI' => array('1000', 'kB.'), 'MEGABYTE' => array('1048576', 'MB'), 'MEBIBYTE' => array('1048576', 'MiB'), 'MEGA_BINARY_BYTE' => array('1048576', 'MiB'), 'MEGABYTE_SI' => array('1000000', 'MB.'), 'GIGABYTE' => array('1073741824', 'GB'), 'GIBIBYTE' => array('1073741824', 'GiB'), 'GIGA_BINARY_BYTE' => array('1073741824', 'GiB'), 'GIGABYTE_SI' => array('1000000000', 'GB.'), 'TERABYTE' => array('1099511627776', 'TB'), 'TEBIBYTE' => array('1099511627776', 'TiB'), 'TERA_BINARY_BYTE' => array('1099511627776', 'TiB'), 'TERABYTE_SI' => array('1000000000000', 'TB.'), 'PETABYTE' => array('1125899906842624', 'PB'), 'PEBIBYTE' => array('1125899906842624', 'PiB'), 'PETA_BINARY_BYTE' => array('1125899906842624', 'PiB'), 'PETABYTE_SI' => array('1000000000000000', 'PB.'), 'EXABYTE' => array('1152921504606846976', 'EB'), 'EXBIBYTE' => array('1152921504606846976', 'EiB'), 'EXA_BINARY_BYTE' => array('1152921504606846976', 'EiB'), 'EXABYTE_SI' => array('1000000000000000000', 'EB.'), 'ZETTABYTE' => array('1180591620717411303424', 'ZB'), 'ZEBIBYTE' => array('1180591620717411303424', 'ZiB'), 'ZETTA_BINARY_BYTE'=> array('1180591620717411303424', 'ZiB'), 'ZETTABYTE_SI' => array('1000000000000000000000', 'ZB.'), 'YOTTABYTE' => array('1208925819614629174706176', 'YB'), 'YOBIBYTE' => array('1208925819614629174706176', 'YiB'), 'YOTTA_BINARY_BYTE'=> array('1208925819614629174706176', 'YiB'), 'YOTTABYTE_SI' => array('1000000000000000000000000', 'YB.'), 'STANDARD' => 'BYTE' ); }