suchen
Heimphp教程php手册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:

Code kopieren Der Code lautet wie folgt:

/*
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);

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

mPDF

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

SublimeText3 Englische Version

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

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft