PHP analysiert UTF-8-String-Kenntnisse korrekt. application_php-Grundlagen
In „PHP und MYSQL lernen – Zeichenkodierung (Teil 1)“ wird die Konvertierungsbeziehung zwischen Unicode und UTF-8 vorgestellt und eine UTF-8-Kodierungsregel zusammengefasst. Basierend auf dieser Kodierungsregel wird ein UTF-8-Kodierungsanalyseprogramm erstellt ist geschrieben. Das Folgende ist die Implementierung von PHP:
/*
Programmfunktion, $str ist eine UTF-8-codierte Zeichenfolge, gemischt mit Chinesisch und Englisch.
Diese Zeichenfolge wird gemäß den UTF-8-Codierungsregeln korrekt dekodiert und angezeigt.
*/
$str = 'Heute bin ich sehr glücklich, also haben wir beschlossen, zu KFC zu gehen, um Cola Chicken Wings zu essen!!!'; >$str soll abgefangen werden Die Zeichenfolge
$len ist die Anzahl der abgefangenen Zeichen
*/
function utf8sub($str,$len) {
if($len return '' ;
}
$offset = 0; // Offset beim Abfangen höherwertiger Bytes
$chars = 0; // Anzahl der abgefangenen Zeichen
$ res = '' ; // Speichern Sie die abgefangene Ergebniszeichenfolge
while($chars // Nehmen Sie zuerst das erste Byte der Zeichenfolge
// Wandeln Sie es in eine Dezimalzahl um
// Dann in Binär konvertieren
$high = ord(substr($str,$offset,1)); br />';
if($high == null ){ // Wenn das High-Bit null ist, beweist es, dass es bis zum Ende abgerufen wurde, direkt unterbrechen
break; >}
if( ($high>>2) === 0x3F){ // Verschiebe das High-Bit um 2 Bits nach rechts und vergleiche es mit der Binärzahl 111111. Wenn es dasselbe ist, nimm 6 Bytes
// 2 Bytes abfangen
$count = 6;
}else if(($high>>3) === 0x1F){ // Das High-Bit um 2 Bits nach rechts verschieben und vergleichen es mit binär 11111. Wenn es dasselbe ist, nimm 5 Bytes
// Intercept 3 Bytes
$count = 5
}else if(($high>>4) === 0xF) { // Verschiebe das High-Bit um 2 Bits nach rechts und vergleiche es mit binär 1111. Wenn sie gleich sind, dann nimm 4 Bytes
// Nimm 4 Bytes
$count = 4
}else if(($high>>5) === 0x7){ // Verschiebt das High-Bit um 2 Bits nach rechts und vergleicht es mit der Binärzahl 111. Wenn es dasselbe ist, nimm 3 Bytes
// 5 Bytes abfangen
$count = 3;
}else if(($high> >6) === 0x3){ // High-Bit um 2 Bit nach rechts verschieben, vergleichen mit binär 11, wenn gleich, 2 Bytes nehmen
// 6 Bytes abfangen
$count = 2;>7) === 0x0){ // Verschieben Sie das High-Bit um 2 Bits nach rechts und vergleichen Sie es mit binär 0. Wenn sie gleich sind, nehmen Sie 1 Byte
$count = 1; }
// echo '$count='. $count.'
';
$res .= substr($str,$offset,$count); / / Nimm ein Zeichen heraus und verbinde es mit $res string
$chars += 1; // Anzahl der abgefangenen Zeichen + 1
$offset += $count; // Den hohen Offset abfangen und um $count Bytes verschieben
return $res
}
echo utf8sub($str,100);

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Dreamweaver Mac
Visuelle Webentwicklungstools

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft