Hóa ra có một số người ngoài hành tinh xa biết tiếng Anh (và đã được chuẩn hóa ngẫu nhiên trên các kiến trúc máy tính 8 bit) . Tuy nhiên, họ chưa bao giờ nghe nói về ASCII, thậm chí cả thứ tự chữ cái.
Người ta tin rằng những người ngoài hành tinh đang thu thập thông tin từ Trái đất. Tuy nhiên, họ đang làm như vậy với các thiết bị kỹ thuật số đọc thông tin vô nghĩa khi không có đường truyền nào được gửi đi ... do đó tín hiệu phải được chứa theo cách nổi bật với tiếng ồn xung quanh.
Một tiêu chuẩn mới đã được tạo ra, được mô hình hóa sau khi sử dụng Thông điệp Arecibo trong thời lượng tín hiệu bán thời gian:
Mã hóa bán phổ quát để trao đổi thông tin (USCII)
(Xem: http://uscii.hostilefork.com )
Trong USCII, mỗi mã được lấy từ một bitmap đại diện cho ký tự, có chiều rộng nguyên tố và chiều cao nguyên tố. Chẳng hạn, đại diện 5x7 này của chữ A:
01110
10001
10001
10001
11111
10001
10001
Điều đó tạo ra 35 bit. Tuy nhiên, để làm cho ngay cả các thông điệp một ký tự nổi bật khỏi nhiễu và trông mạch lạc, các chuỗi được nhúng trong một định dạng chứa giúp củng cố các yếu tố chính. Container đã được chọn để giúp dễ dàng thao tác các chuỗi trên các kiến trúc hoạt động trên bội số của 8 bit.
Với thùng chứa của nó, chữ "A" ở trên sẽ trông như sau:
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
Các ký tự của tin nhắn được tiền tố đầu tiên với năm bitmap 5x7 rắn và bảy bitmap 5x7 rắn được thêm vào cuối. ( "Máy đo" .) Sau đó, mỗi cái có năm bit 0 được gắn vào đầu để tạo ra 40 bit chẵn.
Cuối cùng, có 7 lần chạy 40 bit hoàn toàn được thêm vào đầu và 5 lần chạy 40 bit tất cả được thêm vào cuối. ( " Sự im lặng" .)
Nhiệm vụ của bạn
Bạn phải viết một bộ mã hóa. Đầu vào là một chuỗi ASCII thông thường được gõ từ bàn phím. Ảnh bitmap bạn sẽ sử dụng là từ phông chữ CPU PIC 5x7 .
(Lưu ý: Thật dễ dàng để trích xuất phông chữ từ trang cho tất cả những người chơi mã tài năng ở đây, nhưng nếu bạn muốn tất cả các byte đó cùng nhau ở đây .)
Đầu ra phải là một chuỗi in ở dạng thập lục phân.
Ví dụ
Đầu vào :
ABCDEFG
Đầu ra :
0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE074631FC620F463E8C7C074610845C0E4A318CB80FC21E843E0FC21E84200746178C5E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Đầu vào :
Dear aliens: Please get me off of this planet!!!
Đầu ra :
0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0E4A318CB80001D1FC1E0001C17C5E0002D9842000000000000001C17C5E061084211C00100421080001D1FC1E0002D98C620001F0707C003180630000000000000F463E8420061084211C0001D1FC1E0001C17C5E0001F0707C0001D1FC1E00000000000001F1787C0001D1FC1E0213E421440000000000000375AD620001D1FC1E00000000000001D18C5C01148E210801148E210800000000000001D18C5C01148E210800000000000213E4214408421E8C6200100421080001F0707C00000000000003D1F420061084211C0001C17C5E0002D98C620001D1FC1E0213E421440210840008021084000802108400080FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Làm rõ
- Không cần xử lý bất kỳ ký tự không in được nào cho nhiệm vụ này (mặc dù phản hồi về ý tưởng cho những gì có thể trông giống như được chào đón)
Điều kiện chiến thắng
0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE074610845C0001D18C5C00842F8C5E0001D1FC1E00000000000746178C5E0001D18C5C061084211C01148E21080210840008021084000802108400080FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF