Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxシェルの異なるバイナリデータ変換(バイナリ、8進数、16進数、base64)

Linuxシェルの異なるバイナリデータ変換(バイナリ、8進数、16進数、base64)

  

シェルは、異なる16進データを示すサードパーティ製コマンドを呼び出すことができません。以下の表現がここに要約されています。シェルスクリプトのデフォルト値は、数字が特別な表記または接頭辞で始まっていない限り、10進数で処理され、他の16進型の値を表すことができます。たとえば、0から始まるのは8進数、0xから始まるのは16進数ですBASE#NUMBERを使用して、この形式で他の基数を表すことができます。BASE値:2-64。


使い方:

  • 他の小数は10進に変換されます。

    16進から16進数へ:

    [chengmo @ centos5〜] $((num = 0123)); [chengmo @ centos5〜] $ echo $ num; 83

    [chengmo @ centos5〜] $((num = 8#123)); [chengmo @ centos5〜] $ echo $ num; 83

    ((expression))、(())は任意のデータ式にすることができます。前のコードを追加すると、' $'計算結果を確認できます。

    16進数から10進数:

    [chengmo @ centos5〜] $((num = 0xff)); [chengmo @ centos5〜] $ echo $ num; 255 [chengmo @ centos5] 〜] $((num = 16#ff)); [chengmo @ centos5〜] $ echo $ num; 255
    <32> 32進数:

    [chengmo @ centos5〜] $ ((num = 32#ffff)); [chengmo @ centos5〜] $ echo $ num; 507375
    <64> 10進数への64進:

    [chengmo @ centos5〜] $((num = 64) #abc_)); [chengmo @ centos5〜] $ echo $ num; 2667327

    2進数から10進数へのバイナリ

    [chengmo @ centos5〜] $((num = 2#11111111)); [ ,null,null,3],Chengmo @ centos5〜] $ echo $ num; 255



  • 10進数から他の10進数へ

    10進数から8進数へ

    これは以下の目的で使用されます。bc外部コマンド補完。 bcコマンドの形式は次のように変換されます。echo "obase = ade; value"; Bc

    [chengmo @ centos5〜] $ echo" obase = 8; 01234567" | Bc4553207

    2進数、16進数、base64は10進数と同じ方法に変換されます。

    [chengmo @ centos5〜] $ echo" obase = 64; 123456" | Bc 30 09 00


    シェル、組み込みのさまざまな16進表現方法は非常に簡単です。基数#を覚えておいてください。値を割り当てるときは、(())記号を使用するのを忘れないでください。 =記号を直接使用することはできません。 =記号には値型はありません。デフォルトでは、それに文字列が続きます。

    [chengmo @ centos5〜] $ num = 0123; [chengmo @ centos5〜] $ echo $ num; 0123

    0は最初は意味を失いました。

    区切り文字:(let)を使用すると、(())効果を実現できます。

    [chengmo @ centos5〜] $ let num = 0123; [chengmo @ centos5〜] $ echo $ num; 83


    他にも良い方法があります、友達私とそれを共有することができます。

  • Copyright © Windowsの知識 All Rights Reserved