MySQL LENGTH()関数は文字列の長さをどのように測定しますか?
MySQL LENGTH()関数は、文字列の長さを「バイト」で測定します。これは、マルチバイトで安全ではないことを意味します。 CHAR_LENGTH()やCHARACTER_LENGTH()などのマルチバイトセーフ関数と、特にUnicodeに関連するLENGTH()関数の結果の違い。ほとんどの文字は2バイトでエンコードされるか、UTF-8に関連します。バイト数は異なります。たとえば、文字列に4つの2バイト文字が含まれている場合、LENGTH()関数は8を返しますが、CHAR_LENGTH()またはCHARACTER_LENGTH()関数は4を返します。これは次の例で示されています-
例
mysql> Select LENGTH('tutorialspoint'); +--------------------------+ | LENGTH('tutorialspoint') | +--------------------------+ | 14 | +--------------------------+ 1 row in set (0.00 sec)
上記の結果セットは、文字列「tutorialspoint」の長さがまだUnicode文字に変換されていないため14であることを示しています。次のクエリはそれをUnicode文字に変換します-
mysql> SET @A = CONVERT('tutorialspoint' USING ucs2); Query OK, 0 rows affected (0.02 sec)
Unicodeで文字列を変換すると、以下に示すように、Unicodeでは1文字が2バイトかかるため、結果は14ではなく28になります-
mysql> Select LENGTH(@A); +------------+ | LENGTH(@A) | +------------+ | 28 | +------------+ 1 row in set (0.00 sec)
ただし、CHAR_LENGTH()は、以下に示すようにマルチバイトセーフ関数であるため、結果は14になります-
mysql> Select CHAR_LENGTH(@A); +-----------------+ | CHAR_LENGTH(@A) | +-----------------+ | 14 | +-----------------+ 1 row in set (0.00 sec)
-
C#を使用して文字列の長さを計算するにはどうすればよいですか?
C#のString.Lengthプロパティを使用して、文字列の長さを取得します。 str.Length このプロパティは、文字列内の単語を計算し、指定された文字列の長さを表示します。たとえば、文字列Amitの文字数は4文字です- string str = "Amit"; 例 以下は、文字列の長さを計算するためのC#プログラムです- using System; using System.Collections; namespace Demo { class Program { static void
-
Pythonで文字列の長さを取得するにはどうすればよいですか?
Pythonには、複合オブジェクトの長さを指定するlen()というメソッドがあります。文字列の長さを取得するには、文字列をlen()呼び出しに渡すだけです。たとえば、 print(len('abcdefghijklmnopqrstuvwxyz')) 出力 26