sh/ネタ/文字列バイナリ変換
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* はじめに [#t0a9862b]
チャットやSNSなどで「分かる人には分かるよね」的なメッセー...
難読化することはないですか??(ないですよねきっと)
#pre{{{
maji darui
-> 1101101 1100001 1101010 1101001 100000 1100100 1100001...
}}}
という風に文字列をバイナリ化してみます
* 文字列 -> バイナリ [#e25ecc1e]
xxd -b を使うのが楽です
#prism(bash){{{
# シンプルな実装
alias a2b='xxd -b | cut -c11-63 | tr "\n" " "
# バイナリ文字列の先頭のゼロを削り、さらに末尾に改行を付...
alias a2b='xxd -b | cut -c11-63 | sed "s/\b00*//g" | tr "...
}}}
* バイナリ -> 文字列 [#u1b37902]
bc でバイナリ->hex変換し、xxdで文字列化すると楽です
#prism(bash){{{
alias b2a="tr ' ' '\n' | sed '1iobase=16;ibase=2' | bc | ...
}}}
* 使い方 [#ld7123d4]
a2b は「バイナリ文字列の先頭のゼロを削り、さらに末尾に改...
#prism(bash){{{
$ echo maji darui | a2b
1101101 1100001 1101010 1101001 100000 1100100 1100001 11...
$ echo 1101101 1100001 1101010 1101001 100000 1100100 110...
maji darui
# 記号や制御文字も大丈夫
$ echo -e "ore\tore _>[sagi]<_\nzettai *DAME*" | a2b | b2a
ore ore _>[sagi]<_
zettai *DAME*
}}}
* マルチバイト文字列 [#y20b5abe]
2バイト単位で処理しているので、[[ASCIIコード変換機>http:/...
#prism(bash){{{
$ matsuya | tee /dev/stderr | a2b | tee /dev/stderr | b2a
プレミアム牛めしプレート
11100011 10000011 10010111 11100011 10000011 10101100 111...
プレミアム牛めしプレート
}}}
終了行:
* はじめに [#t0a9862b]
チャットやSNSなどで「分かる人には分かるよね」的なメッセー...
難読化することはないですか??(ないですよねきっと)
#pre{{{
maji darui
-> 1101101 1100001 1101010 1101001 100000 1100100 1100001...
}}}
という風に文字列をバイナリ化してみます
* 文字列 -> バイナリ [#e25ecc1e]
xxd -b を使うのが楽です
#prism(bash){{{
# シンプルな実装
alias a2b='xxd -b | cut -c11-63 | tr "\n" " "
# バイナリ文字列の先頭のゼロを削り、さらに末尾に改行を付...
alias a2b='xxd -b | cut -c11-63 | sed "s/\b00*//g" | tr "...
}}}
* バイナリ -> 文字列 [#u1b37902]
bc でバイナリ->hex変換し、xxdで文字列化すると楽です
#prism(bash){{{
alias b2a="tr ' ' '\n' | sed '1iobase=16;ibase=2' | bc | ...
}}}
* 使い方 [#ld7123d4]
a2b は「バイナリ文字列の先頭のゼロを削り、さらに末尾に改...
#prism(bash){{{
$ echo maji darui | a2b
1101101 1100001 1101010 1101001 100000 1100100 1100001 11...
$ echo 1101101 1100001 1101010 1101001 100000 1100100 110...
maji darui
# 記号や制御文字も大丈夫
$ echo -e "ore\tore _>[sagi]<_\nzettai *DAME*" | a2b | b2a
ore ore _>[sagi]<_
zettai *DAME*
}}}
* マルチバイト文字列 [#y20b5abe]
2バイト単位で処理しているので、[[ASCIIコード変換機>http:/...
#prism(bash){{{
$ matsuya | tee /dev/stderr | a2b | tee /dev/stderr | b2a
プレミアム牛めしプレート
11100011 10000011 10010111 11100011 10000011 10101100 111...
プレミアム牛めしプレート
}}}
ページ名: