• ベストアンサー

項目に入力できる文字列をバイト数で制限したいのですが。。。

hequilの回答

  • ベストアンサー
  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

私は以下の関数で文字列のバイト数を取得してます。 あまり良い方法じゃないかもしれませんが、参考まで Function GetStringByte( strMoji )   Dim intLength, intPos, intMojiAsc   intLength = 0   If Len( strMoji ) > 0 Then     For intPos = 1 To Len( strMoji )       intMojiAsc = Asc( Mid(strMoji, intPos, 1) )       If intMojiAsc >= 0 And intMojiAsc < 256 Then         intLength = intLength + 1       Else         intLength = intLength + 2       End If     Next   End If   GetStringByte = intLength End Function

関連するQ&A

  • 文字列の中に2バイトが含まれているか調べたい

    文字列の中に、2バイト(つまり全角)が含まれているかどうかを調べたいです。 VBなどでは、LenB(StrConv(Value, vbFromUnicode))とかで、調べられるのですが、Pealではどのような関数を用いれば良いでしょうか・ 最適な関数、あるいは手法があれば、教えてくださいませ。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 入力された文字列のバイト数を知りたい。

    こんにちは。 いまWebページ上のテキストボックスに入力されたテキスト文字列のバイト長を判定しようとして, 下記のようなコーディングをしました。 ~ n = escape(document.forms(0).txtProjectCode.value); if (!(n.length == 5)) ~ ところが上記のコーディングだと半角文字は正しくバイト長が取れるのですが,全角文字が入力されると正しくバイト長が取れません。 そうすれば全角文字が入力されても正しくバイト長が取れるでしょうか? 教えてください。よろしくお願いします。

  • 文字列のバイト数を調べる

    文字列の文字数は数えればわかりますが、そのバイト数となると数え方がわかりません。 数える方法を教えてください。 よろしくおねがいします。

  • 0を含んだ文字列の長さ(バイト数)の求め方

    環境:VC2005 WinAPI32 C言語 SDK 上記の環境でプログラミングをしています。 よろしくお願いいたします。 char str[256]=""; strcat(str, "ABC"); str[4]=0; strcat(str, "DEF"); たとえば上記のようなプログラムで、 str中のバイト数(文字列長?)を求めたいと思っています。 strの中身は [A][B][C][0][D][E][F][0][0][0]...[0]となっていますが、 このとき、7という値を取得したいのですが、何か効率的な方法はありますでしょうか・・。

  • phpでマルチバイトを含む文字列のバイト数を求めることは可能でしょうか?

    例として次のような文字列のバイト数を求めたいです。 あaいbc54うえ strlenは正確にバイト数が返ってきませんでした。 mb_strlenでは文字数が返ってきてしまうため、使えません(あくまでもバイト数です。) 結果個人的にmb_strwidthを使うことに行き着いたのですが、mb_strwidthは文字幅を評価する関数と表記されていました。 何パターンか実際にテストしてみた結果mb_strwidthでも動作に支障はなかったのですが、mb_strwidthを使うという方法で 正しいのでしょうか? もし、バイト数を数えるよい方法がございましたら教えていただきたいです!よろしくお願いします。

    • 締切済み
    • PHP
  • VBScriptの文字列の最大文字数は?

    初心者です、ASPのVBScriptの文字列の最大文字数は何文字でしょうか? また、ウェブ上で見ることのできるVBScriptのリファレンスマニュアルなどでよいものは無いでしょうか? オンラインヘルプも在るようですが使用し方が分かりませんのでその当りのアドバイスお願いできればと思います・

  • [VBScript]バイト長の判定

    テキストのバイト長を取得したく「LenB関数」を使用したのですが、Unicodeの為、半角も全角も全て2バイトでカウントされてしまいます。 「StrConv関数」もVBScriptにはないため、どうしたものかと困っています。 一文字ずつコード値を出して、1バイトか2バイトに振り分けるという処理は、データの量からして現実的ではありません。 なにかよい方法がありましたらおしえてください。 よろしくお願いします。

  • 【VB】文字列を50バイトづつに区切りたい

    タイトルのままなんですが、1byte文字と2byte文字が混合している変数があるのですが、その中身を50byteづつに区切りたいのです。 良い方法はないでしょうか。

  • VC#で2進数の文字列をバイト列に変換する方法

    No.1021748で質問した者です。前回はバイト列を2進数の文字列に変換する方法を質問しましたが、今回はその逆の方法を教えて下さい。 例えば、stringに01101111という文字列が入ってる場合には、バイト列0x6Fに変換したいです。お願いします。

  • 入力文字のバイト数

    いつも参考にしております。 入力文字のバイト数のカウントについて質問をさせていただきます。 入力フォームなどで、入力文字数の制限をしたいと考えております。 文字を入力するたびに、バイト数がテキストボックスに常に 表示されるようにしたいと考えております。 以下を参考にできるのではないとか思っておりますが。 <script language="javascript"> <!-- function check() {  txt = document.myFORM.myTEXT.value;  n = txt.length;  if (n > 10) alert("10文字以内にしてください"); } --> </script> <form name="myFORM"> <textarea rows="3" name="myTEXT" onChange="check()"></textarea> </form> ご教授お願いいたします。