2017-03-06 15 views
0

日本人からフォームの文字列長の検証を変更するよう依頼されました。長さではなくバイト単位の文字列長の有効性確認

現在のところ、通常の文字列長の妥当性検査(文字数に関係なく文字数がカウントされます)が行われます。私がするように頼まれてきた何

はバイトに基づいて文字列の長さを検証することです - つまり、four 1-byte charactersと1 2-byte characters5文字がありますにもかかわらず6-byte全長の長さを占めるでしょう。

そして、私は知っている必要がありますすることです:

1)のみ1と2バイト文字はありますか? (This question talks about 3 and 4 byte characters)

2)1バイトまたは2バイトとしてカウントする必要があるすべての文字の範囲は何ですか? これについて私に尋ねた人は、いくつか例を挙げることができると確信していますが、本当にすべてのケースをカバーする必要があります。

答えて

2

UTF-8エンコードWebベース入力フォームの場合、ASCIIと他の言語を1バイト目の値の範囲に基づいて区別することができます。 Javascriptコードの例はStackOverflowWikipedia's explanationです。他のUnicodeエンコーディングにも同様の規則がありますが、詳細はさらに調べる必要があります

関連する問題