Wie wir alle wissen, wird in JS die Länge einer Saite nicht in chinesische und englische Zeichen unterteilt, und jedes Zeichen wird als Länge gezählt, die sich von der Funktion strlen () in PHP unterscheidet. Die Funktion strlen () in PHP sammelt 2 chinesische Zeichen in GBK gemäß dem Zeichensatz und sammelt 3 chinesische Zeichen in UTF-8.
Einige Kinderschuhe fragen sich vielleicht, warum Sie die tatsächliche Länge berechnen müssen.
Es ist hauptsächlich mit dem Längenbereich der Datenbank überein. Beispielsweise ist ein bestimmtes Feld in der GBK -Datenbank VARCHAR (10), das der Länge von 5 chinesischen Zeichen entspricht, und ein chinesischer Zeichen entspricht der Länge von zwei Buchstaben. Wenn es sich um eine UTF8 -Datenbank handelt, hat jedes chinesische Zeichen eine Länge von 3.
Nachdem wir das obige Prinzip kennen, können wir die tatsächliche Länge einer Zeichenfolge berechnen. Wenn es sich um einen GBK -Zeichenset handelt, fügen Sie 2 auf Chinesisch hinzu und fügen Sie 3 auf Chinesisch 3 hinzu.
GBK Länge Berechnungsfunktion:
Die Codekopie lautet wie folgt:
// Berechnen Sie die tatsächliche Länge des GBK -Zeichensatzes
Funktion getstrleng (str) {
var reallength = 0;
var len = str.length;
var charcode = -1;
für (var i = 0; i <len; i ++) {
CharCode = Str.CharCodeat (i);
if (charcode> = 0 && charcode <= 128) {
Reallength += 1;
}anders{
// Wenn es Chinesisch ist, fügen Sie 2 Länge hinzu
Reallength += 2;
}
}
Rückkehrerlänge;
}
UTF8 Längenberechnung Funktion:
Die Codekopie lautet wie folgt:
// Berechnen Sie die tatsächliche Länge des UTF8 -Zeichensatzes
Funktion getstrleng (str) {
var reallength = 0;
var len = str.length;
var charcode = -1;
für (var i = 0; i <len; i ++) {
CharCode = Str.CharCodeat (i);
if (charcode> = 0 && charcode <= 128) {
Reallength += 1;
}anders{
// Wenn es chinesisch ist, fügen Sie 3 Länge hinzu
RealLength += 3;
}
}
Rückkehrerlänge;
}