আইবিএম তার কম্পিউটার / কম্পিউটারের ৩ 360০ পরিবার উন্মুক্ত করার পরে খুব শীঘ্রই এটি 50 বছর হতে চলেছে । এগুলিই প্রথম EBCDIC চরিত্র সেটটি ব্যবহার করেছিল ।
উপলক্ষটি চিহ্নিত করতে, আসুন দেখা যাক যে "সাধারণ" পাঠ্যটি EBCDIC কোড পৃষ্ঠা 037 তে এবং এর থেকে রূপান্তর করতে সক্ষম সংক্ষিপ্ত প্রোগ্রামটি লিখতে পারেন a আমরা উইকিপিডিয়া থেকে একটি অনুবাদ টেবিল ব্যবহার করব যা সিপি 00 maps-কে মানচিত্রের ISO-8859-1 এর সুপারসেটে রূপান্তর করবে :
EBCDIC037_to_Latin1 = [
0x00,0x01,0x02,0x03,0x9c,0x09,0x86,0x7f,0x97,0x8d,0x8e,0x0b,0x0c,0x0d,0x0e,0x0f,
0x10,0x11,0x12,0x13,0x9d,0x85,0x08,0x87,0x18,0x19,0x92,0x8f,0x1c,0x1d,0x1e,0x1f,
0x80,0x81,0x82,0x83,0x84,0x0a,0x17,0x1b,0x88,0x89,0x8a,0x8b,0x8c,0x05,0x06,0x07,
0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9a,0x9b,0x14,0x15,0x9e,0x1a,
0x20,0xa0,0xe2,0xe4,0xe0,0xe1,0xe3,0xe5,0xe7,0xf1,0xa2,0x2e,0x3c,0x28,0x2b,0x7c,
0x26,0xe9,0xea,0xeb,0xe8,0xed,0xee,0xef,0xec,0xdf,0x21,0x24,0x2a,0x29,0x3b,0xac,
0x2d,0x2f,0xc2,0xc4,0xc0,0xc1,0xc3,0xc5,0xc7,0xd1,0xa6,0x2c,0x25,0x5f,0x3e,0x3f,
0xf8,0xc9,0xca,0xcb,0xc8,0xcd,0xce,0xcf,0xcc,0x60,0x3a,0x23,0x40,0x27,0x3d,0x22,
0xd8,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xab,0xbb,0xf0,0xfd,0xfe,0xb1,
0xb0,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0xaa,0xba,0xe6,0xb8,0xc6,0xa4,
0xb5,0x7e,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0xa1,0xbf,0xd0,0xdd,0xde,0xae,
0x5e,0xa3,0xa5,0xb7,0xa9,0xa7,0xb6,0xbc,0xbd,0xbe,0x5b,0x5d,0xaf,0xa8,0xb4,0xd7,
0x7b,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xad,0xf4,0xf6,0xf2,0xf3,0xf5,
0x7d,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0xb9,0xfb,0xfc,0xf9,0xfa,0xff,
0x5c,0xf7,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0xb2,0xd4,0xd6,0xd2,0xd3,0xd5,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xb3,0xdb,0xdc,0xd9,0xda,0x9f];
নিয়মাবলী:
আপনার প্রোগ্রামে দুটি ইনপুট নেওয়া উচিত: (ক) একটি পাঠ্য স্ট্রিং, এবং (খ) অপারেশনটি সম্পাদন করার জন্য চিহ্নিত একটি পতাকা।
এই পতাকাটির উপর ভিত্তি করে, আপনার প্রোগ্রামটি প্রতিটি পাঠ্যকে বর্ধিত করে EBCDIC চরিত্রে রূপান্তর করতে হবে, বা বিপরীতে।
ইনপুটটি যে কোনও সংবেদনশীল উত্স (যেমন, কমান্ড লাইন আর্গুমেন্ট, স্টিডিন, কীবোর্ড ইনপুট) থেকে প্রাপ্ত করা যেতে পারে তবে আপনার প্রোগ্রামটিতে হার্ড কোডিং করা উচিত নয়।
আউটপুট স্ক্রিনে প্রদর্শিত হবে (যেমন, স্টডআউট,
document.write
) বা কোনও ফাইল / পাইপলাইনে লিখিত।কোনও অন্তর্নির্মিত বা বাহ্যিক এনকোডিং রূপান্তর ফাংশন (
iconv
ইত্যাদি) ব্যবহার করবেন না ।এটি একটি কোড-গল্ফ চ্যালেঞ্জ, সুতরাং সংক্ষিপ্ত উত্তর (খুব কম বাইট) জিতবে।
উদাহরণ:
(দ্রষ্টব্য: এই উদাহরণগুলি ইউটিএফ -8 এনকোডিং ব্যবহারের জন্য কনফিগার করা টার্মিনালে উত্পাদিত হয়েছিল your আপনার সিস্টেমটি কীভাবে কনফিগার করা হয়েছে তার উপর নির্ভর করে আপনি বিভিন্ন ফলাফল দেখতে পারেন He কেবলমাত্র রেফারেন্সের জন্য হেক্স সমতুল্য দেখানো হয়, এবং আপনার কোড দ্বারা উত্পন্ন করতে হবে না ।)
Input: "HELLO WORLD", convert to EBCDIC
Output: "ÈÅÓÓÖ@æÖÙÓÄ" (0xc8c5d3d3d640e6d6d9d3c4)
Input: "ÈÅÓÓÖ@æÖÙÓÄ", convert from EBCDIC
Output: "HELLO WORLD"
Input: "lower case mostly ends up as gremlins", convert to EBCDIC
Output "" <-- unprintable in utf-8
(0x9396a68599408381a285409496a2a393a840859584a240a4974081a24087998594938995a2)
s.decode('base64')
আমার চেহারা সারণীটি পেতে পারি?