✏️ 正在编辑: FilterASCII85.php
路径:
/home/bpioifn/www/pigmentse/modules/chronopost/libraries/fpdi/filters/FilterASCII85.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php // // FPDI - Version 1.4.4 // // Copyright 2004-2013 Setasign - Jan Slabon // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // if (!defined('ORD_z')) { define('ORD_z', ord('z')); } if (!defined('ORD_exclmark')) { define('ORD_exclmark', ord('!')); } if (!defined('ORD_u')) { define('ORD_u', ord('u')); } if (!defined('ORD_tilde')) { define('ORD_tilde', ord('~')); } if (!class_exists('FilterASCII85', false)) { class FilterASCII85 { public function error($msg) { die($msg); } public function decode($in) { $out = ''; $state = 0; $chn = null; $l = strlen($in); for ($k = 0; $k < $l; ++$k) { $ch = ord($in[$k]) & 0xff; if ($ch == ORD_tilde) { break; } if (preg_match('/^\s$/', chr($ch))) { continue; } if ($ch == ORD_z && $state == 0) { $out .= chr(0) . chr(0) . chr(0) . chr(0); continue; } if ($ch < ORD_exclmark || $ch > ORD_u) { return $this->error('Illegal character in ASCII85Decode.'); } $chn[$state++] = $ch - ORD_exclmark; if ($state == 5) { $state = 0; $r = 0; for ($j = 0; $j < 5; ++$j) { $r = $r * 85 + $chn[$j]; } $out .= chr($r >> 24); $out .= chr($r >> 16); $out .= chr($r >> 8); $out .= chr($r); } } $r = 0; if ($state == 1) { return $this->error('Illegal length in ASCII85Decode.'); } if ($state == 2) { $r = $chn[0] * 85 * 85 * 85 * 85 + ($chn[1]+1) * 85 * 85 * 85; $out .= chr($r >> 24); } elseif ($state == 3) { $r = $chn[0] * 85 * 85 * 85 * 85 + $chn[1] * 85 * 85 * 85 + ($chn[2]+1) * 85 * 85; $out .= chr($r >> 24); $out .= chr($r >> 16); } elseif ($state == 4) { $r = $chn[0] * 85 * 85 * 85 * 85 + $chn[1] * 85 * 85 * 85 + $chn[2] * 85 * 85 + ($chn[3]+1) * 85 ; $out .= chr($r >> 24); $out .= chr($r >> 16); $out .= chr($r >> 8); } return $out; } public function encode($in) { return $this->error("ASCII85 encoding not implemented."); } } }
💾 保存文件
← 返回文件管理器