Maison  >  Article  >  interface Web  >  Fonction de calcul de la longueur réelle de la chaîne GBK, UTF8 implémentée par JavaScript_Basic Knowledge

Fonction de calcul de la longueur réelle de la chaîne GBK, UTF8 implémentée par JavaScript_Basic Knowledge

WBOY
WBOYoriginal
2016-05-16 16:38:332037parcourir

Comme nous le savons tous, la longueur des chaînes en JS ne fait pas de distinction entre les caractères chinois et anglais. Chaque caractère compte comme une longueur, ce qui est différent de la fonction strlen() en PHP. La fonction strlen() en PHP accumule les caractères chinois GBK par 2 et les caractères chinois UTF-8 par 3 selon le jeu de caractères.

Certaines chaussures pour enfants peuvent se demander pourquoi devons-nous calculer la longueur réelle ?

Principalement pour correspondre à la plage de longueurs de la base de données. Par exemple, un champ dans la base de données de GBK est varchar(10), ce qui équivaut à la longueur de 5 caractères chinois, et un caractère chinois est égal à la longueur de deux lettres. . S'il s'agit d'une base de données UTF8, la longueur de chaque caractère chinois est de 3.

Après avoir connu les principes ci-dessus, nous pouvons calculer la longueur réelle d'une chaîne. S'il s'agit d'un jeu de caractères GBK, ajoutez 2 lorsqu'il rencontre des caractères chinois. S'il s'agit d'un jeu de caractères UTF8, ajoutez 3 lorsqu'il rencontre des caractères chinois. 🎜>
Fonction de calcul de longueur GBK :

Copier le code Le code est le suivant :
// Calcul de la longueur réelle du jeu de caractères GBK
fonction getStrLeng(str){
var longueur réelle = 0;
var len = str.length;
var charCode = -1;
pour(var je = 0; je < len; je ){
​​​​ charCode = str.charCodeAt(i);
Si (charCode >= 0 && charCode <= 128) {
                realLength = 1;
          }autre{
                      // Si c'est du chinois, ajoutez 2 à la longueur
               realLength = 2;
        }
}  
Renvoie la longueur réelle ;
>


Fonction de calcul de longueur UTF8 :
Copier le code Le code est le suivant :
// Calcul de la longueur réelle du jeu de caractères UTF8
fonction getStrLeng(str){
var longueur réelle = 0;
var len = str.length;
var charCode = -1;
pour(var je = 0; je < len; je ){
​​​​ charCode = str.charCodeAt(i);
Si (charCode >= 0 && charCode <= 128) {
                realLength = 1;
          }autre{
                     // Si c'est du chinois, ajoutez 3 à la longueur
               realLength = 3;
       }
}  
Renvoie la longueur réelle ;
>

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn