| 1 | <?php |
||
| 7 | class Bom |
||
| 8 | { |
||
| 9 | /** UTF-8 BOM sequence */ |
||
| 10 | const BOM_UTF8 = "\xEF\xBB\xBF"; |
||
| 11 | /** UTF-16 BE BOM sequence */ |
||
| 12 | const BOM_UTF16_BE = "\xFE\xFF"; |
||
| 13 | /** UTF-16 LE BOM sequence */ |
||
| 14 | const BOM_UTF16_LE = "\xFF\xFE"; |
||
| 15 | /** UTF-32 BE BOM sequence */ |
||
| 16 | const BOM_UTF32_BE = "\x00\x00\xFE\xFF"; |
||
| 17 | /** UTF-32 LE BOM sequence */ |
||
| 18 | const BOM_UTF32_LE = "\x00\x00\xFF\xFE"; |
||
| 19 | |||
| 20 | /** @var string[] */ |
||
| 21 | static protected $encodingMap = [ |
||
| 22 | self::BOM_UTF8 => 'UTF-8', |
||
| 23 | self::BOM_UTF16_BE => 'UTF-16BE', |
||
| 24 | self::BOM_UTF16_LE => 'UTF-16LE', |
||
| 25 | self::BOM_UTF32_BE => 'UTF-32BE', |
||
| 26 | self::BOM_UTF32_LE => 'UTF-32LE', |
||
| 27 | ]; |
||
| 28 | |||
| 29 | /** |
||
| 30 | * @param string $bom |
||
| 31 | * |
||
| 32 | * @return string |
||
| 33 | */ |
||
| 34 | public static function getEncoding($bom) |
||
| 42 | } |
||
| 43 |