日本の注目ニュース、コンピュータープログラミング(C/C++,Perl,PHP,SQL)、システムトレード(FX,CFD,株価指数,先物)に関する語句(Word)を日本語や英語で解説[Perl]UTF-8でエンコードされた文字列の文字数を取得するコードPerlのlength関数ではバイト単位となるので、UTF-8でエンコードされている場合、漢字、ひらがな、カタカナなどは1文字で3となってしまいます。1文字としてカウントする関数を作成することにします。UTF-8では、1バイト目の先頭ビットが0の場合は1バイト文字1バイト目の先頭から3ビットが110の場合は2バイト文字1バイト目の先頭から4ビットが1110の場合は3バイト文字1バイト目の先頭から5ビットが11110の場合は4バイト文字1バイト目の先頭から6ビットが111110の場合は5バイト文字1バイト目の先頭から7ビットが1111110の場合は2バイト文字という仕様ですので、1バイト目のビットの状態を調べることによって、その文字が何バイトかを調べることができます。以下のコードでは、この仕様にもとづいて全角文字を含む文字列の文字数を取得しています。UTF-8でエンコードされた文字列の文字数を取得する。_bytesize関数を呼び出して文字のバイト数を求め、1文字分の処理を行うたびに文字数をカウントアップしています。戻り値として返しています。関連リンク[Perl]1バイト(8bit)の10進数を2進数の文字列に変換するコードPerlの関数を使用して、以下の手順で10進数を2進文字列に変換することができます。sprintf関数で10進数を16進文字列に変換pack関数で16進文字列をバイナリーにパックunpack関数で2進文字列に変換例えば、文字列の先頭...[Perl]UTF-8でエンコードされた文字列の部分文字列を取り出すコードPerlのsubstr関数ではバイト単位の操作になるので、漢字、ひらがな、カタカナなどの全角文字を文字数で指定して部分文字列を取り出すことができません。それでは不都合なことも多いので、半角英数も全角文字も1文字と...[C言語]UTF-8でエンコードされた文字列の文字数を取得するコードC言語のstrlen関数では文字列の長さとして返ってくる値はバイト単位となるので、UTF-8でエンコードされている場合、漢字、ひらがな、カタカナなどは1文字で3となってしまいます。15:26:49よく見ると、_bytesize関数がちょっと冗長ですね。1.03)もっと見る...最新コメント◆国民の皆様へのメッセージ○新型コロナウイルス感染症の現状からは、中国国内では人から人への感染は認め...ヤフーファイナンスは今日は祝日らしいはやく逮捕まだ〜現在閉店セール実施中らしい。