問題タブ [base36]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java Long を別のベースに変換する場合、変換後の String からどのように戻すのですか?
数値を別の基数に変換した後:
文字列を通常の 10 進数に戻すにはどうすればよいですか?
c# - C# で base36 シーケンスを使用する方法を探しています
私のアプリケーションでは、シーケンスを使用しています。これらは、Azure テーブル ストレージに文字列として格納されます。シーケンスを更新するには、最新の数値を文字列として取得し、数値に変換し、数値に加算して、現在のシーケンス値として保存します。シーケンスは一意のキーとして内部で使用されますが、ユーザーの URL にも表示されるため、短くしたいと思います。
私が考えているのは、base36 でシーケンスを持つという考えです。つまり、0-Z です。「0000」で始まる4桁の文字列として保存されているシーケンスを取得し、それに1を追加して「0001」から「ZZZZ」までの最後の可能な値としてシーケンスを取得する方法を知っている人はいますか?
c# - 2 つの Guid を最大 50 文字の長さの文字列に変換する方法 (双方向変換)
興味深い問題があります - 2 つの (ランダムに) 生成された Guid を文字列に変換する必要があります。制約は次のとおりです。
- 文字列の最大長は 50 文字です。
- 数字と小文字のみ使用可能 (0123456789abcdefghijklmnopqrstuvwxyz)
- アルゴリズムは双方向でなければなりません - エンコードされた文字列を同じ 2 つの別々の GUID にデコードできる必要があります。
私は toBase36 変換を探してたくさん閲覧してきましたが、これまでのところ Guid では運がありません。
何か案は?(C#)
java - Java long を *unsigned* base-X String (およびその逆) に変換するにはどうすればよいですか?
[編集] BigInteger、または他の同様の非効率的な方法を含む回答は受け付けていません。答える前に実際に質問を読んでください!
Java は、厄介なことに、符号なしの数値型をサポートしていません。次の例のように、次に大きな型を使用して、byte、short、または int を unsigned に変換できます。
しかし、より大きな型がないため、これを long で行うことはできません。
では、signed long を「unsigned」base-X (私の場合は base-36) に変換し、元に戻すにはどうすればよいでしょうか? Long クラスにはこれらのメソッドがありますが、long を符号付きとして扱います。
おそらく何らかの操作と BigInteger を使用してそれを行うことができますが、BigInteger は信じられないほど遅く、一時的な BigInteger の作成によってゴミが作成されます。そして、私はそれらの変換をたくさん行うつもりです (と思います)。Long.toString(long i, int radix) のデフォルトの実装と同じくらい効率的なアルゴリズムが必要です。
Long.toString() のコードを適応させようとすると、次のようになります。
しかし、Math.abs() にもかかわらず、負の値を正しく処理しません。
これが機能したら、逆変換が必要ですが、簡単になることを願っています。あなたの答えにもそれを入れてください。
[編集] 実際、Long.parseLong(String s, int radix) のコードを見たところ、Long.toString(long i, int radix) よりも複雑に見えます。
java - int から base36 への変換の最適化
現在、int から base36 文字列への多くの変換を行っています (プログラム時間の 70%~)。このコードに明らかな最適化はありますか?
php - 10 進数と 36 進数の間の変換
PHP を使用して、基数 36 の数値を変換したいと考えています。大きな数値を変換したいので、関数base_convert
が機能していません。基数 36 から 10 進数に再度変換すると、最初の数値が得られません。
複数の Web サイトでいくつかの機能を試しましたが、同じ結果が得られません。また、これらの 2 つの Web サイト (Javascript による) では、同じ結果が得られます。
- http://www.unitconversion.org/numbers/base-10-to-base-36-conversion.html
- http://www.translatorscafe.com/cafe/units-converter/numbers/calculator/decimal-to-base-36/
たとえば、1010701001118000000000000000
に変換する必要があり3IZS0ZE1RQ68W8SSW4
ます。
これが私が試した機能です(そして機能しません):
javascript - 文字列を base36 に変換すると、言語間で矛盾が生じます。
文字列を base36 に変換するときに、Python と JavaScript の間にいくつかの矛盾があることに気付きました。
Python メソッド:
結果: 37713647386641447
Javascript メソッド:
結果: 37713647386641450
2 つの言語間で結果が異なる原因は何ですか? 言語に関係なく同じ結果を生成するための最良のアプローチは何でしょうか?
ありがとうございました。
scala - long を scala の base 36 に変換する
Long を base36 に変換するにはどうすればよいですか? あなたの答えとともに、あなたがどのように答えに至ったのかを説明できますか?
別のベースに変換するため、およびLong を BigInt に変換するために、Long の scaladocs を確認しました。BigIntにはtoString( base )
型の変更が含まれている可能性があるため、解決策があることがわかりましたが、その方法がわかりませんでした。
注: 私は scala / java / タイプセーフ言語を初めて使用するので、些細なことを見落としている可能性があります。
javascript - String.charCodeAt 最大長
次のコードを使用します。
可能な最大の長さは何charCode
ですか? すべてのテストで 2 文字 (2 桁) であることが判明しました。それはもっと長くなるでしょうか?
c# - 文字列のASCII値の合計をC#でbase 36に変換する方法
C# では、文字列の ascii 値の合計を base 36 に変換するにはどうすればよいですか?
私の文字列「P0123456789」
ありがとう。