最近PCサイトのページでフォーム認証をしているのですが、全角入力を半角記号に変換する必要があります。これらのコーディング知識についてはこれまで学んだことがなく、まだGoogleで調べる必要があるので、簡単にまとめておきます。
1. 全角と半角とは何ですか?
全角: コンピューター文字の一種で、全角 1 文字が標準文字 2 文字 (または半角 2 文字) の位置を占めることを意味します。 )。全角は 2 バイトを占めます。
全角を指定する漢字、英語文字、国家標準GB2312-80の図記号や特殊文字は全て全角文字です。全角では、文字と数字が漢字と同じ幅の位置に配置されます。
半角: 1 文字が標準の文字位置を占めることを意味します。半角は1バイトとなります。
半角文字はASCII文字です。 漢字入力方法が機能しない場合、入力される文字、数字、文字はすべて半角文字です。
各半角文字は 1 バイトのスペースのみを占有します (1 バイトは 8 ビットで、合計 256 のエンコーディング スペース)。中国語、日本語、韓国語などの象形文字のフォント サイズは 256 エンコーディング スペースよりもはるかに大きいため、ストレージに 2 バイトが使用されます。同時に、中国、日本、韓国などの象形文字の表記習慣により、一律に全角文字を使用すると、配置がきれいに見えます。
きれいに配置するために、英語およびその他のラテン文字と句読点も全角形式で提供されます。
2. 全角と半角の違い
全角と半角は主に句読点であり、全角の句読点は 2 バイトを占め、半角の句読点は 1 バイトを占めます。漢字は半角、全角に関わらず2バイトを占めます。
function ToCDB(str) { var tmp = ""; for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) { tmp += String.fromCharCode(str.charCodeAt(i) - 65248); } else { tmp += String.fromCharCode(str.charCodeAt(i)); } } return tmp }
function ToDBC(txtstring) {var tmp = ""; for (var i = 0; i < txtstring.length; i++) { if (txtstring.charCodeAt(i) == 32) {tmp = tmp + String.fromCharCode(12288);} if (txtstring.charCodeAt(i) < 127) { tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248); } }return tmp; }
以上がJSの全角と半角の変換例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。