43 lines
1.0 KiB
PHP
43 lines
1.0 KiB
PHP
<?php
|
|
/**
|
|
* This file is part of FPDI
|
|
*
|
|
* @package FPDI
|
|
* @copyright Copyright (c) 2017 Setasign - Jan Slabon (https://www.setasign.com)
|
|
* @license http://opensource.org/licenses/mit-license The MIT License
|
|
* @version 1.6.2
|
|
*/
|
|
|
|
/**
|
|
* Class FilterASCIIHexDecode
|
|
*/
|
|
class FilterASCIIHexDecode
|
|
{
|
|
/**
|
|
* Converts an ASCII hexadecimal encoded string into it's binary representation.
|
|
*
|
|
* @param string $data The input string
|
|
* @return string
|
|
*/
|
|
public function decode($data)
|
|
{
|
|
$data = preg_replace('/[^0-9A-Fa-f]/', '', rtrim($data, '>'));
|
|
if ((strlen($data) % 2) == 1) {
|
|
$data .= '0';
|
|
}
|
|
|
|
return pack('H*', $data);
|
|
}
|
|
|
|
/**
|
|
* Converts a string into ASCII hexadecimal representation.
|
|
*
|
|
* @param string $data The input string
|
|
* @param boolean $leaveEOD
|
|
* @return string
|
|
*/
|
|
public function encode($data, $leaveEOD = false)
|
|
{
|
|
return current(unpack('H*', $data)) . ($leaveEOD ? '' : '>');
|
|
}
|
|
} |