এলিয়েনদের জন্য একটি স্ট্রিং এনকোড করুন যা ইংরেজি পড়তে এবং লিখতে পারে তবে ASCII জানে না


12

দেখা যাচ্ছে এমন কিছু দূরবর্তী এলিয়েন আছেন যারা ইংরেজি জানেন (এবং কাকতালীয়ভাবে 8-বিট কম্পিউটার আর্কিটেকচারে স্ট্যান্ডার্ড করেছেন) । তবুও তারা কখনও এএসসিআইআই, এমনকি বর্ণমালার ক্রম সম্পর্কেও শুনেনি।

ধারণা করা হয় যে এই এলিয়েনরা পৃথিবী থেকে তথ্য সংগ্রহ করছে। তবুও তারা এমন ডিজিটাল সরঞ্জামগুলি দিয়ে কাজ করছে যা অর্থহীন তথ্য পড়ে যখন কোনও সংক্রমণ প্রেরণ করা হচ্ছে না ... সুতরাং আশেপাশের শব্দ থেকে বেরিয়ে আসার জন্য এই সংকেতটি অবশ্যই উপস্থিত থাকতে হবে।

একটি নতুন স্ট্যান্ডার্ড তৈরি করা হয়েছে, সেমিপ্রাইম সিগন্যাল দৈর্ঘ্যের আরেসিবো মেসেজের ব্যবহারের পরে মডেল করা:

ইনফরমেশন ইন্টারচেঞ্জের জন্য ইউনিভার্সাল সেমিওটিক কোডিং (ইউএসসিআইআই)

(দেখুন: http://uscii.hostilfork.com )

ইউএসসিআইআই-তে, প্রতিটি কোড বর্ণের প্রতিনিধিত্বকারী বিটম্যাপ থেকে উদ্ভূত হয়, যার মূল প্রস্থ এবং মূল উচ্চতা থাকে। উদাহরণস্বরূপ, একটি চিঠির এই 5x7 প্রতিনিধিত্ব:

01110
10001
10001
10001
11111
10001
10001

এটি 35 বিট উত্পাদন করে। তবুও এমনকি একক-অক্ষর বার্তাগুলি গোলমাল থেকে পৃথক হওয়া এবং সুসংগত দেখতে, স্ট্রিংগুলি একটি ধারক বিন্যাসে এম্বেড করা হয় যা মূল উপাদানগুলিকে শক্তিশালী করতে সহায়তা করে। 8 বিটের বহুগুণে পরিচালিত আর্কিটেকচারে স্ট্রিংগুলি ম্যানিপুলেট করা সহজ করার জন্যও ধারকটি বেছে নেওয়া হয়েছে।

এর ধারকটি সহ, উপরের "এ" দেখতে পাবেন:

0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
0111010001100011000111111100011000100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111

বার্তার অক্ষরগুলি প্রথমে পাঁচটি শক্ত 5x7 বিটম্যাপের সাথে উপসর্গ করা হয় এবং শেষ পর্যন্ত সাতটি শক্ত 5x7 বিটম্যাপ যুক্ত হয়। ( "মিটার" ।) তারপরে এগুলির প্রত্যেকের একটি পর্যন্ত 40 টি বিট তৈরি করতে শেষ পর্যন্ত পাঁচটি 0 টি বিট ট্যাক করা থাকে।

শেষ পর্যন্ত এখানে 7 টি শূন্য 40-বিট রান যোগ হয়েছে এবং শেষ পর্যন্ত 5 টি সর্বমোট 40-বিট রান যোগ হয়েছে। ( "নীরবতা" ।)

আপনার মিশন

আপনি একটি এনকোডার লিখতে হবে। ইনপুটটি একটি প্রচলিত ASCII স্ট্রিং যা কীবোর্ড থেকে টাইপ করা হয়। আপনি যে বিটম্যাপগুলি ব্যবহার করবেন তা হ'ল 5x7 পিআইসি সিপিইউ ফন্টের

(দ্রষ্টব্য: এখানে সমস্ত প্রতিভাবান কোড গল্ফারদের জন্য পৃষ্ঠা থেকে ফন্টটি বের করা যথেষ্ট সহজ তবে আপনি যদি এই বাইটগুলি একসাথে চান তবে তারা এখানে রয়েছে ))

আউটপুট হেক্সাডেসিমালে মুদ্রিত স্ট্রিং হওয়া উচিত।

উদাহরণ

ইনপুট :

ABCDEFG

আউটপুট :

0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE074631FC620F463E8C7C074610845C0E4A318CB80FC21E843E0FC21E84200746178C5E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

ইনপুট :

Dear aliens: Please get me off of this planet!!!

আউটপুট :

0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0E4A318CB80001D1FC1E0001C17C5E0002D9842000000000000001C17C5E061084211C00100421080001D1FC1E0002D98C620001F0707C003180630000000000000F463E8420061084211C0001D1FC1E0001C17C5E0001F0707C0001D1FC1E00000000000001F1787C0001D1FC1E0213E421440000000000000375AD620001D1FC1E00000000000001D18C5C01148E210801148E210800000000000001D18C5C01148E210800000000000213E4214408421E8C6200100421080001F0707C00000000000003D1F420061084211C0001C17C5E0002D98C620001D1FC1E0213E421440210840008021084000802108400080FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

ব্যাখ্যা

শর্ত জয়ের

0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE074610845C0001D18C5C00842F8C5E0001D1FC1E00000000000746178C5E0001D18C5C061084211C01148E21080210840008021084000802108400080FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF


আমার মতে, এলিয়েনরা সম্ভবত মনে করে যে আমরা তাদের স্টাফ পাঠানোর জন্য পাগল হয়েছি।
কাইল কানোজ

7
@ কাইলকানোস যদি এলিয়েনরা স্মার্ট হয় তবে তারা শীতল মনে করবে। মানবতা পাগল এমন উপসংহারটি ঘটবে তার পরবর্তীতে কেউ কেউ ফর্ম্যাটটি বিশ্বব্যাপী সংবাদ আউটলেটগুলি থেকে তথ্য প্রেরণ করার জন্য ব্যবহার করে।
হোস্টাইলফোর্ক বলেছেন

শেষ লাইনটি ফর্ম্যাট করা হয়নি, আপনি কি দয়া করে অন্যান্য ইনপুট এবং আউটপুট লাইনের মতো এটি বিন্যাস করতে পারেন?
এএল

@ n.1 আপনার ব্রাউজারে এটি সঠিকভাবে প্রদর্শিত হচ্ছে না? এটা আমার ভাল লাগছে। কোনও প্রযুক্তিগত সমস্যা থাকলে এটি পরিবর্তন করে খুশি, তবে এটি বিজয়ী শর্তটি বর্ণনা করার সাথে সাথে এটি প্রযুক্তিগতভাবে একটি "ব্যবহার" এবং ব্যবহার-উল্লেখের পার্থক্যের "উল্লেখ" নয় , তাই আমি আসলে এটি উদ্দেশ্য অনুসারে বডি টেক্সট স্টাইলে রেখেছিলাম। :-)
হোস্টাইলফোর্ক বলেছেন

@ডাঃ. রেব্মু: ডেস্কটপে আমার ব্রাউজারে এটি ঠিক আছে, তবে অ্যান্ড্রয়েড অ্যাপের সাহায্যে প্রশ্নটি অনেক বিস্তৃত: meta.stackexchange.com/q/231512/237701
AL

উত্তর:


3

পাইথন 2, 671 669 663 বাইট

D=str.decode
d=D(D("eJxNUmsSHiEIuxIgvn76sXr/IzVB26kzqyxCCBGRt0xlOM5RbXp6qv32Omu6lT22nTGiOVe05muMFXM11ZuuynwV52f8E7W11+SdzGMvTl6GHvm3ig6RRBbp3nqNqGEFeACK7m5YZYPAMMGV6qyk4ydKKD3FTPeAcQZhUAw4lh4aR8YcWaaVV480lDTJF64thyT4T+8tCjVofOtLnKInAAYDyJ0e9lxj+wJk/MYJ0nBQvYaRhnbQQEIrB5t1fX2VwdMnZF1zLF/Gf2H62PtXGYwypU5msXo2mNUvclE+QXqY3sNkg3GcKReKRTPrGnizNNCOw+tenSWaLQZf6VC926UYVw7I0y/eDEOo/LfKvvLdEQjt7NTzLXrkI2MmNrMPRYDng4a6VR0ThTKMgUA9XlYzTIsk+XtCH+y2mk1rf6VD4V7Xh2Cxb2YWkdkprlDCTR6yv5jnQSuQScEb0CBu5WXZ1ScN6gMDvWa73HNoy845VMg7wLBlA9wwhAMTiNn6ravFH00dtSc=","base64"),"zip")
i=raw_input()
m="F"*8+"E0"
o="0"*70+m*5
for c in i:x=ord(c)*9-288;o+=d[x:x+9]+"0"
print o+m*7+"F"*50

জিলিব সহ পিএইচপি, 738 716 715 বাইট

<?php $d=gzinflate(base64_decode("TVJrEh4hCLsSIL5++rF6/yM1QdupM6ssQggRkbdMZTjOUW16eqr99jprupU9tp0xojlXtOZrjBVzNdWbrsp8Fedn/BO1tdfkncxjL05ehh75t4oOkUQW6d56jahhBXgAiu5uWGWDwDDBleqspOMnSig9xUz3gHEGYVAMOJYeGkfGHFmmlVePNJQ0yReuLYck+E/vLQo1aHzrS5yiJwAGA8idHvZcY/sCZPzGCdJwUL2GkYZ20EBCKwebdX19lcHTJ2Rdcyxfxn9h+tj7VxmMMqVOZrF6NpjVL3JRPkF6mN7DZINxnCkXikUz6xp4szTQjsPrXp0lmi0GX+lQvdulGFcOyNMv3gxDqPy3yr7y3REI7ezU8y165CNjJjazD0WA54OGulUdE4UyjIFAPV5WM0yLJPl7Qh/stppNa3+lQ+Fe14dgsW9mFpHZKa5Qwk0esr+Y50ErkEnBG9AgbuVl2dUnDeoDA71mu9xzaMvOOVTIO8CwZQPcMIQDE4jZ+q2rxR8="));$i=trim(fgets(STDIN));$f="str_repeat";echo $f(0,70).$f($m="FFFFFFFFE0",5);foreach(str_split($i)as$c)echo substr($d,ord($c)*9-288,9)."0";echo $f($m,7).$f("F",50);

প্রথমত, আপনার পিএইচপি দিয়ে কনফিগার করা প্রয়োজন --with-zlib। এবং এই স্ক্রিপ্টটি কমান্ড লাইন থেকে চালান, পছন্দ করুন php 26972.php। এই প্রোগ্রামটি STDIN থেকে ইনপুট নেয়।

(যদি short_open_tag=On, আমি আরও 3 বাইট সঞ্চয় করতে পারি))

Ungolfed

<?php
$data = gzinflate(base64_decode("TVJrEh4hCLsSIL5++rF6/yM1QdupM6ssQggRkbdMZTjOUW16eqr99jprupU9tp0xojlXtOZrjBVzNdWbrsp8Fedn/BO1tdfkncxjL05ehh75t4oOkUQW6d56jahhBXgAiu5uWGWDwDDBleqspOMnSig9xUz3gHEGYVAMOJYeGkfGHFmmlVePNJQ0yReuLYck+E/vLQo1aHzrS5yiJwAGA8idHvZcY/sCZPzGCdJwUL2GkYZ20EBCKwebdX19lcHTJ2Rdcyxfxn9h+tj7VxmMMqVOZrF6NpjVL3JRPkF6mN7DZINxnCkXikUz6xp4szTQjsPrXp0lmi0GX+lQvdulGFcOyNMv3gxDqPy3yr7y3REI7ezU8y165CNjJjazD0WA54OGulUdE4UyjIFAPV5WM0yLJPl7Qh/stppNa3+lQ+Fe14dgsW9mFpHZKa5Qwk0esr+Y50ErkEnBG9AgbuVl2dUnDeoDA71mu9xzaMvOOVTIO8CwZQPcMIQDE4jZ+q2rxR8="));
$input = trim(fgets(STDIN));
$f = "str_repeat";

echo $f(0, 70).$f($m = "FFFFFFFFE0", 5);
foreach(str_split($input) as $c)
    echo substr($data, ord($c) * 9 - 288, 9)."0";
echo $f($m, 7).$f("F", 50);

সংকুচিত ডেটাতে 9 টি হেক্স ডিজিট ব্যবহার করার ধারণার জন্য +1।
ব্যবহারকারী 2846289

716 হ'ল # এখন পর্যন্ত পরাজিত করা ... যদিও আমি কল্পনা করেছিলাম এটি আরও কম করা যায়! আমি এটি একটি সামান্য পরিমাণে অনুগ্রহ করব, তবে কেউ যদি গণনাটি হারাতে না পারে তবে আমি আপনাকে তা দিয়ে শেষ করব ... কমপক্ষে আপনার পিথন সংস্করণ রয়েছে, পিএইচপি নয়। :-)
হোস্টাইলফোর্ক বলেছেন যে এসই

ঠিক আছে, 663 এবং পিএইচপিতে নয় - আরও ভাল। :-) অনুগ্রহ তোমার!
হোস্টাইলফোর্ক বলেছেন যে

2

সি

এটি প্রকৃতপক্ষে মানব পাঠযোগ্য হেক্স মুদ্রণ করে (পাঠ্যক্রমের জন্য বনাম বাইনারি)। প্রত্যেকে স্বাক্ষরিত দীর্ঘ দীর্ঘায়িতভাবে প্রতিনিধিত্ব করা হয় এবং কেবল 9-10 হেক্স ডিজিটগুলি যথাযথভাবে ব্যবহার করা হয় (আপনি 00000 প্যাডিং অন্তর্ভুক্ত করেছেন কিনা তা নির্ভর করে) দুর্ভাগ্যজনক 6x5 ফর্ম্যাট (একটি 8x4 ফন্ট কেবল খুব সহজ হতে পারে)

#include <stdio.h>
#define u unsigned long long
void p(int n, u x){while(n--) printf("%09llX",x);}
int main(void){
char *s="ABCDEFG";
u a[128]={0xAAAAAAAAAULL,0xADEB7ADEAULL,0xDFF7FDFF6ULL,0xDEF7BDFF6ULL,0xFFFFFFCE6ULL,0xFF41DB82EULL,0xFD7FF747EULL,0xDC63107F6ULL,0xFEEE0BEFEULL,0x0003D0800ULL,0xE1084FB88ULL,0x21084201CULL,0xFB880FB88ULL,0x084ADFB08ULL,0x25F7BDF78ULL,0xE777BDDC8ULL,0xFFC8E27FEULL,0xFDE719DFEULL,0xDED4A73A2ULL,0xFD6B5AD7EULL,0xFC6318C7EULL,0xFD7FF8BBEULL,0xFFFFFFABEULL,0xF81CA703EULL,0x881445022ULL,0xFC58A347EULL,0x8BBDDDFF6ULL,0x1995E73A2ULL,0xAD6B5AD6AULL,0xDEF7BDEF6ULL,0xF7B5204F6ULL,0xFFFFF9EEEULL,0x000000000ULL,0x210840008ULL,0x529400000ULL,0x52BEAFA94ULL,0x23E8E2F88ULL,0xC644444C6ULL,0x64A88AC9AULL,0x611000000ULL,0x111084104ULL,0x410421110ULL,0x012AEA900ULL,0x0109F2100ULL,0x000006110ULL,0x0001F0000ULL,0x000000318ULL,0x004444400ULL,0x74675CC5CULL,0x23084211CULL,0x74422223EULL,0xF88820C5CULL,0x11952F884ULL,0xFC3C10C5CULL,0x3221E8C5CULL,0xF84444210ULL,0x7462E8C5CULL,0x7462F0898ULL,0x031806300ULL,0x031806110ULL,0x111104104ULL,0x003E0F800ULL,0x410411110ULL,0x744222008ULL,0x7442DAD5CULL,0x74631FC62ULL,0xF463E8C7CULL,0x74610845CULL,0xE4A318CB8ULL,0xFC21E843EULL,0xFC21E8420ULL,0x746178C5EULL,0x8C63F8C62ULL,0x71084211CULL,0x388421498ULL,0x8CA98A4A2ULL,0x84210843EULL,0x8EEB58C62ULL,0x8C7359C62ULL,0x746318C5CULL,0xF463E8420ULL,0x74631AC9AULL,0xF463EA4A2ULL,0x7C20E087CULL,0xF90842108ULL,0x8C6318C5CULL,0x8C6318A88ULL,0x8C631AD54ULL,0x8C5445462ULL,0x8C62A2108ULL,0xF8444443EULL,0x72108421CULL,0x000000000ULL,0x70842109CULL,0x22A200000ULL,0x00000003EULL,0x410400000ULL,0x001C17C5EULL,0x8421E8C7CULL,0x001F0841EULL,0x0842F8C5EULL,0x001D1FC1EULL,0x1148E2108ULL,0x001F1787CULL,0x8421E8C62ULL,0x010042108ULL,0x100421498ULL,0x4212A6292ULL,0x61084211CULL,0x00375AD62ULL,0x002D98C62ULL,0x001D18C5CULL,0x003D1F420ULL,0x001F17842ULL,0x002D98420ULL,0x001F0707CULL,0x213E42144ULL,0x002318C5CULL,0x002318A88ULL,0x00231AD54ULL,0x0022A22A2ULL,0x0022A2110ULL,0x003E2223EULL,0x190882106ULL,0x210802108ULL,0xC10822130ULL,0x0BA000000ULL,0xFE2A2AE3EULL};
p(7,0ULL);
p(5,0xFFFFFFFE0ULL);
while(*s)p(1,a[*s++]);
p(7,0xFFFFFFFE0ULL);
p(5,0xFFFFFFFFFULL);
return 0;
}

সজোরে আঘাত

#!/bin/sh 
p(){
i=0
while ([ $i -lt $1 ]) do
printf $2
i=$((i+1))
done
}

t(){
#Given string input $1, go char by char & create "alien" representation 

C='~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !"#$%&~)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
A="AAAAAAAAA0ADEB7ADEA0DFF7FDFF60DEF7BDFF60FFFFFFCE60FF41DB82E0FD7FF747E0DC63107F60FEEE0BEFE00003D08000E1084FB88021084201C0FB880FB880084ADFB08025F7BDF780E777BDDC80FFC8E27FE0FDE719DFE0DED4A73A20FD6B5AD7E0FC6318C7E0FD7FF8BBE0FFFFFFABE0F81CA703E08814450220FC58A347E08BBDDDFF601995E73A20AD6B5AD6A0DEF7BDEF60F7B5204F60FFFFF9EEE000000000002108400080529400000052BEAFA94023E8E2F880C644444C6064A88AC9A0611000000011108410404104211100012AEA90000109F2100000000611000001F000000000003180004444400074675CC5C023084211C074422223E0F88820C5C011952F8840FC3C10C5C03221E8C5C0F8444421007462E8C5C07462F08980031806300003180611001111041040003E0F8000410411110074422200807442DAD5C074631FC620F463E8C7C074610845C0E4A318CB80FC21E843E0FC21E84200746178C5E08C63F8C62071084211C038842149808CA98A4A2084210843E08EEB58C6208C7359C620746318C5C0F463E8420074631AC9A0F463EA4A207C20E087C0F9084210808C6318C5C08C6318A8808C631AD5408C544546208C62A21080F8444443E072108421C0000000000070842109C022A200000000000003E04104000000001C17C5E08421E8C7C0001F0841E00842F8C5E0001D1FC1E01148E21080001F1787C08421E8C620010042108010042149804212A6292061084211C000375AD620002D98C620001D18C5C0003D1F4200001F178420002D984200001F0707C0213E421440002318C5C0002318A88000231AD5400022A22A200022A21100003E2223E019088210602108021080C1082213000BA0000000FE2A2AE3E0"

j=0 
p 7 0000000000
p 5 FFFFFFFFE0
while ([ "${j}" -lt "${#1}" ]) do 
   i=${C%${1:$j:1}*}
   i=${#i}
   printf ${A:$(( $i*10 )):10} 
   j=$(($j+1)) 
done 
p 7 FFFFFFFFE0
p 5 FFFFFFFFFF
}
t "Dear aliens: Please get me off of this planet!!!"

@ ডাঃ রেবেমু "ফন্ট" কার্যকরভাবে উপযুক্ত ফর্ম্যাটে আনার প্রত্যাশার চেয়ে বেশি সময় নিয়েছে। আমি আমার অন্যান্যটি শীঘ্রই পোস্ট করার পরিকল্পনা করেছি, তবে এটি প্রত্যাশার চেয়ে বেশি রূপান্তর এবং ফর্ম্যাটিং নিয়েছে।
টেকনোসরাসটি

1
অনুমানের জন্য মিটিংয়ের জন্য +1! গল্ফ করার সম্ভাবনা প্রচুর আছে। এন পরিবর্তিত হলে পি রুটিনে কেন নতুন কাউন্টার চালু করবেন? যখন কোনও # ডেফাইন এটি কেটে ফেলতে পারে তখন কেন "স্বাক্ষরযুক্ত দীর্ঘ দীর্ঘ" বাক্যাংশটি পুনরাবৃত্তি করবেন? 0x এবং ULL এর মূল্য হেক্স এনকোডযুক্ত টেবিলের জন্য মূল্য দেওয়া হচ্ছে যেখানে আপনি নিজের অঙ্কগুলিতে কেবল অক্ষর অনুসারে 4 বিট পাচ্ছেন? ইত্যাদি
হোস্টাইলফোর্ক বলেছেন যে SE

@ ডাঃ রেবেমু অতিরিক্ত কাউন্টার (তদারকি) স্থির করেছেন এবং আমি 0x##number##ULL(চরের বিকল্পের জন্য বাশ সংস্করণটি দেখুন) জন্য একটি ম্যাক্রো ব্যবহার করার পরিকল্পনা করেছি , তবে আইডোন ডট কম ভেবেছিল এটি একটি ফাংশন কল তাই আমি এটির নকশা করেছি (জিসিসি ভাল ছিল) ... আমি মূল থেকেও (অকার্যকর) অপসারণ করতে পারি , তবে কিছু জিনিস কেবল ভুল বলে মনে হচ্ছে।
টেকনোসরাসটি মায়

কোড গল্ফে, কেবল "ভুল" হ'ল যদি এটি চালিত হয় না বা অনুমানটি পূরণ না করে ... "ডান" হওয়া খুব কম চরিত্রের হয় ! আপনি যদি এখানে আপনার সি প্রোগ্রামটিতে ব্যবহার করতে চলেছেন তবে আমি অবশ্যই বলব আপনি স্বাক্ষরবিহীন দীর্ঘ দীর্ঘ নিয়ে বিরক্ত করার পরিবর্তে হেক্স স্ট্রিং ব্যবহার করে চরিত্রটি গণনা করতে পারবেন (বিশেষত যখন আপনাকে পূর্ণসংখ্যার মানগুলির প্রয়োজন নেই) এগুলিকে আবার স্ট্রিংয়ে রূপান্তর করা ছাড়া, যা কোড যোগ করে ...)
হোস্টাইলফোর্ক বলেছেন

শিরোনামে বাইট গণনা যোগ করুন। এছাড়াও, আপনার কোডটি আরও নিচে গল্ফ করা উচিত।
ব্যবহারকারী 12205

2

পিএইচপি, 874 বাইট

কমান্ড লাইন ( php uscii.php) থেকে আপনার এই স্ক্রিপ্টটি চালানো দরকার কারণ এটি স্টিন থেকে ইনপুট নেয়।

<?php $f=base64_decode(str_replace('@','AA','@@@QhC@RSl@AClfV9SiPo4viYyIiJjZKiKyawi@@REIQQSCCEIiAEq6p@IT5C@@GEQ@Pg@@@xgAiIiAHRnXMXEYQhCOdEIiI/8RBBi4RlS+IX4eCGLjIh6MXfCIiEIdGLoxc6MXhEwDGAYwAGMAwiBERBBBAB8HwAQQQREQ6IREAR0QtrVzoxj+MfRj6MfOjCEIu5KMYy5+EPQh/8IehCDowvGL4xj+MYuIQhCOOIQhSZGVMUlGEIQhD8d1rGMYxzWcYujGMYu9GPoQg6MY1k30Y+pKL4QcEPvkIQhCRjGMYujGMYqJGMY1qqMVEVGMYxUQhPhEREPuQhCEOBBBBBA4QhCE4iog@@@AH0EE@@A4L4vhCHox8AD4Qg8IQvjF4AOj+DxFI4hC@+Lw+hCHoxiAgCEIQQBCFJiEJUxSWEIQhHAButaxAC2YxiADoxi4APR9C@Pi8IQAtmEI@+Dg+IT5CFEAEYxi4AIxiogARjWqgAioiogBFRCIAD4iI+MhEEIMhCAIQmCEEQmAug@@='));$a=trim(fgets(STDIN));$r='str_repeat';echo$r('0',70).$r($q='FFFFFFFFE0',5);foreach(str_split($a)as$c){$v=(ord($c)-32)*35;$x=$v>>3;$y=1<<(7-$v%8);$b=0;for($i=0;$i<40;$i++){$b+=$b+($i<35&&ord($f[$x])&$y);if(($i&7)==7)$b=!printf('%02X',$b);if(!($y>>=1)&&$x++)$y=128;}}echo$r($q,7).$r('F',50);

Ungolfed:

<?php

// Font bitmap data rearranged as 95 consecutive 35-bit strings and padded
// out to 416 bytes with zeros:
$f=base64_decode(str_replace('@','AA',
    '@@@QhC@RSl@AClfV9SiPo4viYyIiJjZKiKyawi@@REIQQSCCEIiAEq6p@IT5C@@GEQ@Pg'.
    '@@@xgAiIiAHRnXMXEYQhCOdEIiI/8RBBi4RlS+IX4eCGLjIh6MXfCIiEIdGLoxc6MXhEw'.
    'DGAYwAGMAwiBERBBBAB8HwAQQQREQ6IREAR0QtrVzoxj+MfRj6MfOjCEIu5KMYy5+EPQh'.
    '/8IehCDowvGL4xj+MYuIQhCOOIQhSZGVMUlGEIQhD8d1rGMYxzWcYujGMYu9GPoQg6MY1'.
    'k30Y+pKL4QcEPvkIQhCRjGMYujGMYqJGMY1qqMVEVGMYxUQhPhEREPuQhCEOBBBBBA4Qh'.
    'CE4iog@@@AH0EE@@A4L4vhCHox8AD4Qg8IQvjF4AOj+DxFI4hC@+Lw+hCHoxiAgCEIQQB'.
    'CFJiEJUxSWEIQhHAButaxAC2YxiADoxi4APR9C@Pi8IQAtmEI@+Dg+IT5CFEAEYxi4AIx'.
    'iogARjWqgAioiogBFRCIAD4iI+MhEEIMhCAIQmCEEQmAug@@='));

// Fetch input:
$a=trim(fgets(STDIN));

// Header:
$r='str_repeat';
echo $r('0',70).$r($q='FFFFFFFFE0',5);

// Convert each input character into its corresponding hex sequence:
foreach (str_split($a) as $c) {
  $v=(ord($c)-32)*35;
  $x=$v>>3;
  $y=1<<(7-$v%8);
  $b=0;
  for ($i=0;$i<40;$i++) {
    // When $i>34, pad with zeros
    $b += $b + ($i<35 && ord($f[$x]) & $y);
    if (($i&7)==7) $b=!printf('%02X',$b); // print out $b and set $b=0
    // Shift mask to next bit position
    if (!($y>>=1)&&$x++) $y=128;
  }
}

// Tail:
echo $r($q,7).$r('F',50);

+1 (যদিও আমি আশা করি কেউ এলিয়েনদের কাছে পিএইচপি না পাঠায় !!)
হোস্টাইলফোর্ক বলেছেন যে

2

জাভাস্ক্রিপ্ট ES6 (838 বাইট)

_="z='00000';r=(n,m)=>m.repean);fop=prompi=o=';i<p.length;)o+=parseInatob('RSlClfV9SiPo4viYyIiJjZKiKyawiRQQSCCEq6pGEQPgxgAiIHRnXMXEYOdiI/8Ri4RlS+IX4eCGLjIhXfCIidGLcXhEwDGAYwAGMAwiBERBAB8HwAQQQREQ6IREAR0QtrVzj+MfRjfOjCu5KMYy5+EP/8IeDowvGL4xj+MYuIOOISZGVMUlGD8d1rxzWcYuju9GPoQgY1k30Y+pKL4QcEPvkIRjujqJ1qqMVEVxUPhEREPuEOBA4E4H0EEA4L4vH8AD4Qg8IQvjF4AOj+DxFI4+Lw+HgCQQBCFJiEJUxSWHAButaxAC2YxDi4APR9CPi8IQAtm+Dg+FEAEYxi4AIxARjWqgAioBFRCIAD4iI+MhEMAIQmCEEQmAugRV8nyE.split   p(e=>e028)).join    tch(/.{35}/g)[pi++)-32]+z,21610);14,z5,y='E0+o.toUpperCase(7,y5,10,'F)A.charCodeAQhGMY).toString(EI)).slice(-)+ ('.maC')hCoxiog(z+z+t(r(iABB6MFFAIT5C";for(Y in $=" ")with(_.split($[Y]))_=join(pop());eval(_)

পিষ্ট নয় :

z='00000';r=(n,m)=>m.repeat(n);for(p=prompt(i=o='');i<p.length;)o+=(z+z+parseInt(atob('AAAAAAQhCAARSlAAAClfV9SiPo4viYyIiJjZKiKyawiAAAAREIQQSCCEIiAEq6pAAIT5CAAAAGEQAAPgAAAAAAxgAiIiAHRnXMXEYQhCOdEIiI/8RBBi4RlS+IX4eCGLjIh6MXfCIiEIdGLoxc6MXhEwDGAYwAGMAwiBERBBBAB8HwAQQQREQ6IREAR0QtrVzoxj+MfRj6MfOjCEIu5KMYy5+EPQh/8IehCDowvGL4xj+MYuIQhCOOIQhSZGVMUlGEIQhD8d1rGMYxzWcYujGMYu9GPoQg6MY1k30Y+pKL4QcEPvkIQhCRjGMYujGMYqJGMY1qqMVEVGMYxUQhPhEREPuQhCEOBBBBBA4QhCE4iogAAAAAAAH0EEAAAAA4L4vhCHox8AD4Qg8IQvjF4AOj+DxFI4hCAA+Lw+hCHoxiAgCEIQQBCFJiEJUxSWEIQhHAButaxAC2YxiADoxi4APR9CAAPi8IQAtmEIAA+Dg+IT5CFEAEYxi4AIxiogARjWqgAioiogBFRCIAD4iI+MhEEIMhCAIQmCEEQmAugAAARV8nyE').split('').map(e=>(z+z+e.charCodeAt(0).toString(2)).slice(-8)).join('').match(/.{35}/g)[p.charCodeAt(i++)-32]+z,2).toString(16)).slice(-10);r(14,z)+r(5,y='FFFFFFFFE0')+o.toUpperCase()+r(7,y)+r(5,r(10,'F'))

+1 তবে একটি চূর্ণবিচূর্ণ সংস্করণের বাইরে, এটি অনুভূমিক স্ক্রোলিং ছাড়াই পঠনযোগ্য ফর্ম্যাটে দেখার পক্ষে সহায়ক ...
হোস্টাইলফোর্ক বলেছেন যে,
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.