問題タブ [xxd]
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.
printf - 小さな 16 進値をバイナリ値に変換する際の問題
16 進数を持つファイルの内容を取得し、その数値をバイナリに変換してファイルに出力しようとしています。
これは私が試みていることですが、バイナリ値を取得していません:
Hex.txt の内容: ff
FF と 0xFF も試しましたが、情報を取得しているデバイスの形式が ff であるため、単に ff を使用したいと思います。
本来あるべき 11111111 の代わりに、その上に 2 つのドットが付いた ay が表示されます。
これを ee に変更すると、ドットが 2 つ付いた i が得られます。問題なく読み取れているようですが、xxd -r -p コマンドで読み取った内容によると、正しい形式で出力されていません。
Hex を Binary に変換するために私が見つけた他の方法も機能していないか、かなり大きな Bash スクリプトであり、単純な作業だと思っていたことを実行するのに不要と思われます。
これにより、2つのドットのyも得られます。
何らかの理由で、私が見つけたほとんどすべてのソリューションで、人間が読める 1 と 0 のバイナリ値ではなく、この形式が得られます。
どんな助けでも大歓迎です。これをスクリプトで使用して、カールを使用してデジタルロガーデバイスからリレー値を取得し、ホームアシスタントに読み取り可能なファイルを提供してリレー状態を記録することを計画しています。デジタル ロガーの curl コマンドは、特定のリレーのステータスを取得するのではなく、16 進数を使用して 8 つのリレーすべての状態を一度に取得します。