問題タブ [uint8array]
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.
javascript - ネストされたオブジェクト Uint8Array(32) から String から btoa から localStorage から atob から Uint8Array(32)
JavaScript の私のスキルは最小限であり、元の Uint8Array(32) が localStorage に送信され、デコードされ、Uint8Array(32) に変換された後に取得する方法がわかりません。以下では、後で使用するために localStorage に送信されるように、秘密鍵を文字列化してから base64 エンコードしようとしたことがわかります。
ここで、localStorage から base64 でエンコードされた文字列を取得し、そこから新しい Uint8Array を作成することで、対応する公開鍵を生成できるように、秘密鍵を取得しようとしていることがわかります。
ここで、入力される結果が出力される結果と異なることがわかります。
の
アウト
問題は JSON.stringify を使用してネストされた Uint8Array を文字列に変換することだと思いますが、この機能をうまく機能させる他の方法はわかりません。
オブジェクトの入力がオブジェクトの出力と同じでないのはなぜですか? 私はこれを行う方法を学びたいと思っています.助けは私にとって世界を意味します.
javascript - Uint8Array.toString('hex') が 16 進数を返さないのはなぜですか?
これを考えると(別の回答に基づく):
16進数として返されないのはなぜですか?
編集、私の混乱の原因。hypersdk ライブラリを使用しています。これにより、.toString('hex')
パターンが可能になります。
ビーカーに変えたら使えなくなりました。
編集2:
私が使用していたものがnode.jsのBuffer
オブジェクトに基づいていたため、混乱が生じたと思います: https://nodejs.org/api/buffer.html#buffer_buf_tostring_encoding_start_end
これは、hypersdk を使用して、バージョンに一致するようにプロトタイプ メソッドが上書きされたTypedArray
オブジェクトとしてバッファーが表されるようにブラウザー化されました。toString
Buffer