belliash
029dd9bfb4
All checks were successful
The build was successful.
* Do not overload entry point * Automatically call Program::__construct() * Automatically call Program::main(); * Fix all tests
42 lines
965 B
Plaintext
42 lines
965 B
Plaintext
class Program {
|
|
private $概要 = "AerScript Interpreter";
|
|
|
|
public function main() {
|
|
$this->ダウンロード();
|
|
var_dump($this->概要);
|
|
var_dump($this->isUTF8('hello'));
|
|
var_dump($this->isUTF8("すが、基本的な使い方は単純です。かしながら使い方を身につけていきましょう"));
|
|
}
|
|
|
|
private function ダウンロード(){
|
|
print($this->概要 + "\n");
|
|
}
|
|
|
|
private function isUTF8($str) {
|
|
$b = 0;
|
|
$c = 0;
|
|
$bits = 0;
|
|
$len = strlen($str);
|
|
for($i = 0; $i < $len; $i++) {
|
|
$c = ord($str[$i]);
|
|
if($c >= 128) {
|
|
if(($c >= 254)) return false;
|
|
elseif($c >= 252) $bits=6;
|
|
elseif($c >= 248) $bits=5;
|
|
elseif($c >= 240) $bits=4;
|
|
elseif($c >= 224) $bits=3;
|
|
elseif($c >= 192) $bits=2;
|
|
else return false;
|
|
if(($i+$bits) > $len) return false;
|
|
while($bits > 1) {
|
|
$i++;
|
|
$b=ord($str[$i]);
|
|
if($b < 128 || $b > 191) return false;
|
|
$bits--;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
}
|