যদি আপনার কাছে থাকে তবে xxd
এটি সহজ: এটি হেক্সাডেসিমাল এবং এ থেকে রূপান্তর করতে পারে।
echo '0006303030304e43' | xxd -r -p | nc -l localhost 8181
আমি মনে করি না যে কেবলমাত্র পসিক্স সরঞ্জাম ব্যবহার করে হেক্সাডেসিমালকে বাইনারিতে রূপান্তর করার কোনও যুক্তিসঙ্গত (এবং যুক্তিসঙ্গত দ্রুত) উপায় আছে। এটি পার্লে মোটামুটি সহজভাবে করা যায়। নিম্নলিখিত স্ক্রিপ্টটি হেক্সাডেসিমালকে বাইনারি রূপান্তরিত করে, কোনও ইনপুট অক্ষরকে উপেক্ষা করে যা হেক্সাডেসিমাল নয়। এটি অভিযোগ করে যে কোনও ইনপুট লাইনে হেক্সাডেসিমাল সংখ্যাগুলির একটি বিজোড় সংখ্যা রয়েছে।
#!/usr/bin/env perl
$^W = 1;
$c = undef;
while (<>) {
tr/0-9A-Fa-f//cd;
if (defined $c) { warn "Consuming $c"; $_ = $c . $_; $c = undef; }
if (length($_) & 1) { s/(.)$//; $c = $1; }
print pack "H*", $_;
}
if (!eof) { die "$!"; }
if (defined $c) { warn "Odd number of hexadecimal digits"; }
আপনার যদি সত্যিই পসিক্সে লেগে থাকা প্রয়োজন (উদাহরণস্বরূপ এমবেডেড ডিভাইসে) তবে আমি হেক্সাডেসিমালের পরিবর্তে বেস 64 ব্যবহার করার পরামর্শ দিই । আপনি বেস 64 ডিকোড করতে ইউডিকোড ব্যবহার করতে পারেন । ইনপুটটিতে ইউনকোড দ্বারা উত্পাদিত শিরোনাম বিন্যাস এবং শেষ লাইন থাকা আবশ্যক , এটি কাঁচা বেস 64 হতে পারে না।
uudecode <<EOF | nc -l localhost 8181
begin-base64 644 -
AAYwMDAwTkM=
====
EOF