ホームページ > ウェブフロントエンド > jsチュートリアル > 任意の文字セットでカウントします

任意の文字セットでカウントします

Christopher Nolan
リリース: 2025-03-04 01:11:08
オリジナル
518 人が閲覧しました

Counting with an Arbitrary Character Set

コアポイント

    JavaScriptで任意の文字セットを使用するには、語彙、つまりUnicode Escape Sequence Stringとして定義された文字辞書を作成する必要があります。キャラクターセットの各文字には一意の値が割り当てられ、カウントプロセスはキャラクターセット全体を通過し、終了に達したときに最初に戻ります。
  • JavaScriptでは、異なる数値の枢機inal間で数値を解析および変換する組み込み関数を拡張して、任意の文字セットに対処することができます。これにより、ギリシャ文字やキリル文字、象形文字、ルーンなどの異常な文字を使用しても、非デシマルのカーディナリティでカウントし、10進数を非デシマルの数値文字列に変換できます。
  • 任意の文字セットカウントを使用するという概念には、特にコンピューターサイエンスと暗号化の分野で、幅広いアプリケーションがあります。多数の可能な組み合わせが可能になり、一意の識別子、暗号化キー、および安全なパスワードを作成するのに最適です。文字セットが大きいほど、文字列が長くなるほど、潜在的な組み合わせが増え、セキュリティが増えます。
  • この記事では、シンプルで柔軟な任意の文字セットカウント技術を紹介します。この手法は必要ではありませんが、必要に応じて、JavaScriptの組み込み関数が完全に処理できないことがわかります。 JavaScriptには、異なる数値枢機inal間の解析および変換のための組み込み関数があります。たとえば、
メソッドは、2から36までの任意のカーディナリティ(数値カーディナリティ)を処理でき、通常は数値変換と非デシマルカーディナリティのカウントに使用されます。

メソッドは変換を逆転させ、小数の数値を非断続的な数値文字列に戻すことができます:parseInt Number.toString

しかし、クリンゴンの数字を使用して数えたい場合はどうなりますか?それとも、ギリシャ文字やキリル文字、象形文字、またはある種のルーンを使用しますか?私が実証するテクニックは、これを完全に説明するために、これを正確に行うことができます。
var character = "2F";
alert(parseInt(character, 16));    // 弹出 47

var number = 47;
alert(number.toString(16));        // 弹出 "2F"
ログイン後にコピー
ログイン後にコピー

用語集は非常に重要です

最初に、使用する文字の辞書である語彙を定義する必要があります。単一のユニコードエスケープシーケンスとして定義されます。この場合、アルファからPIまでの16の首都ギリシャ文字があります。各数値は文字で表され、文字列全体の長さは数値ベースを決定します。

エスケープシーケンスはキャラクター
var lexicon = "u0391u0392u0393u0394u0395u0396u0397u0398u0399u039au039bu039cu039du039eu039fu03a0";
ログイン後にコピー
ログイン後にコピー

です ユニコードエスケープシーケンスを定義するのに6つのタイピング文字が必要であっても、文字列に1つの文字のみとして表示されるため、語彙の長さは16文字です。語彙を取得したら、を使用して番号インデックスで文字を引用できます。その逆も同様です。

var character = "2F";
alert(parseInt(character, 16));    // 弹出 47

var number = 47;
alert(number.toString(16));        // 弹出 "2F"
ログイン後にコピー
ログイン後にコピー
したがって、

実行される計算は、両方の方法に基づいています。たとえば、ループを定義し、「κ」反復を実行し、次の間に各文字を一覧表示しましょう。

var lexicon = "u0391u0392u0393u0394u0395u0396u0397u0398u0399u039au039bu039cu039du039eu039fu03a0";
ログイン後にコピー
ログイン後にコピー
しかし、23を示すキャラクター同等物など、より大きな数はどうですか?個々の数値を抽出してから、この場合は2と3:

に相当するキャラクターを取得する必要があります。

var number = lexicon.indexOf("u0398");    // "Θ" 的十进制等价物

var character = lexicon.charAt(7);         // 7 的字符等价物
ログイン後にコピー
物事をより面白くするために、変換している数字に16進数「2f」などの文字や数字が含まれている場合はどうなりますか?この場合、各数値を個別に変換する必要があります。なぜなら、ヘキサデシマルインデックスで文字を参照できないからです(つまり、

lexicon.charAt("F")になる必要があります):lexicon.charAt(15)

var str = "";
for(var i=0; i<lexicon.indexOf("u039a"); i++) {
    str += lexicon.charAt(i);
}
alert(str);
ログイン後にコピー
もちろん、数字の数字がわかっているため、最後の2つの例は非常に簡単です。必要なすべてのコンポーネントはここで提供されます。特定の要件に合わせて調整してください。

データが重要です!

通常のラテン語の数字と文字を使用して、必要に応じてまったく同じ方法でカウントできることがあります。用語集のスケーラビリティは、それを使用してJavaScriptのネイティブ機能を36を超えるカーディナリティに拡張し、当時適切に見えるシンボルを使用できることを意味します。

またはスタイリッシュな時計を開発するだけです!

もっと知りたいですか?

ジェームズの詳細を読みたい場合は、毎週のTech Times Newsletter Tech Timesを購読してください。

任意のキャラクターセット(FAQ)に関するFAQ

(元のテキストに記載されているFAQパーツをここに含める必要があります。長さの理由により、ここでは省略されています)

以上が任意の文字セットでカウントしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート