ภารกิจของคุณในวันนี้คือการประดิษฐ์เครื่องอัดข้อความ
งาน
คุณจะเขียนสองฟังก์ชั่น:
ตัวแบ่งบรรจุเป็นฟังก์ชันที่ยอมรับสตริงของอักขระ ASCII (U + 0000 ถึง U + 007F) และส่งออกสตริง Unicode (U + 0000 ถึง U + 10FFFF) ซึ่งมีอักขระน้อยที่สุดเท่าที่จะเป็นไปได้
โปรแกรมเปิดไฟล์เป็นฟังก์ชั่นที่ยอมรับสตริงเข้ารหัส Unicode และผลตรงสตริง ASCII เดิม
อินพุต
อินพุตที่ได้รับอนุญาตเท่านั้นคือสตริง ASCII (สำหรับผู้หีบห่อ) และสตริง Unicode ที่บรรจุ (สำหรับผู้แยกบรรจุ) ไม่มีการป้อนข้อมูลของผู้ใช้ไม่มีการเชื่อมต่ออินเทอร์เน็ตไม่ใช้ระบบไฟล์
ฟังก์ชั่นของคุณสามารถเข้าถึงรายการคำศัพท์ภาษาอังกฤษนี้ คุณสามารถใช้รายการนี้เป็นไฟล์ txt ท้องถิ่นหรือคัดลอกเนื้อหาในรหัสต้นฉบับของคุณเป็นสตริงหรืออาร์เรย์ของสตริง
คุณไม่สามารถถอดรหัสโค้ดด้านล่างในฟังก์ชั่นของคุณได้
เอาท์พุต
เอาต์พุตที่ได้รับอนุญาตเท่านั้นสำหรับทั้งสองฟังก์ชันคือสตริง
เอาต์พุตของ unpacker จะต้องมีตัวอักษรเหมือนกับอินพุตของผู้แบ่งบรรจุ
อินพุตและเอาต์พุตของคุณสามารถใช้การเข้ารหัสอักขระที่สนับสนุน Unicode ทั้งหมด (UTF-8/16/32, GB18030, ... ) เนื่องจากคะแนนของคุณจะขึ้นอยู่กับจำนวนของอักขระ Unicode ในเอาต์พุต โปรดระบุรหัสที่คุณใช้อย่างแม่นยำ
หากต้องการนับจำนวนอักขระ Unicode ในเอาต์พุตของคุณคุณสามารถใช้เครื่องมือนี้: http://mothereff.in/byte-counter
เกณฑ์การให้คะแนน
ข้อมูลของคุณจะต้องสามารถแพ็คและแกะตัวอย่างข้อความ 10 ข้อความต่อไปนี้ (ที่ฉันทำในฟอรัมนี้)
คะแนนของคุณจะเป็นผลรวมของขนาดของ 10 สตริงที่บรรจุ (ในอักขระ Unicode) + ขนาดของทั้งสองฟังก์ชันของคุณ (ในอักขระ Unicode ด้วย)
อย่านับขนาดของพจนานุกรมถ้าคุณใช้
โปรดระบุ "คะแนน" ของข้อมูลโค้ดและรุ่นที่บรรจุ
คะแนนต่ำสุดชนะ
ข้อมูล
นี่คือตัวอย่างข้อมูลที่จะเข้ารหัสเพื่อคำนวณคะแนนของคุณ:
1: เนื้อเพลง Rick Roll (1870b): เราไม่มีคนแปลกหน้าในการตีกอล์ฟคุณรู้กฎและฉันก็เช่นกัน
เราไม่ใช่คนแปลกหน้าที่จะรัก คุณรู้กฏแล้ว ความมุ่งมั่นอย่างเต็มที่คือสิ่งที่ฉันคิด คุณจะไม่ได้สิ่งนี้จากคนอื่น ฉันแค่อยากจะบอกคุณว่าฉันรู้สึกอย่างไร ต้องทำให้คุณเข้าใจ อย่ายอมแพ้ อย่าปล่อยให้คุณผิดหวัง อย่าวิ่งไปรอบ ๆ แล้วละทิ้งคุณ อย่าทำให้คุณร้องไห้ ไม่เคยบอกลา อย่าโกหกและทำร้ายคุณ เรารู้จักกันมานาน หัวใจของคุณเจ็บปวด แต่ คุณอายเกินกว่าจะพูดได้ ข้างในเราทั้งคู่รู้ว่าเกิดอะไรขึ้น เรารู้เกมและเราจะเล่น และถ้าคุณถามฉันว่าฉันรู้สึกอย่างไร อย่าบอกฉันว่าคุณตาบอดเกินไปที่จะเห็น อย่ายอมแพ้ อย่าปล่อยให้คุณผิดหวัง อย่าวิ่งไปรอบ ๆ แล้วละทิ้งคุณ อย่าทำให้คุณร้องไห้ ไม่เคยบอกลา อย่าโกหกและทำร้ายคุณ อย่ายอมแพ้ อย่าปล่อยให้คุณผิดหวัง อย่าวิ่งไปรอบ ๆ แล้วละทิ้งคุณ อย่าทำให้คุณร้องไห้ ไม่เคยบอกลา อย่าโกหกและทำร้ายคุณ (โอ้โหยอมแพ้) (โอ้โหยอมแพ้) (Ooh) ไม่เคยให้ไม่เคยจะให้ (ยอมแพ้คุณ) (Ooh) ไม่เคยให้ไม่เคยจะให้ (ยอมแพ้คุณ) เรารู้จักกันมานาน หัวใจของคุณเจ็บปวด แต่ คุณอายเกินกว่าจะพูดได้ ข้างในเราทั้งคู่รู้ว่าเกิดอะไรขึ้น เรารู้เกมและเราจะเล่น ฉันแค่อยากจะบอกคุณว่าฉันรู้สึกอย่างไร ต้องทำให้คุณเข้าใจ อย่ายอมแพ้ อย่าปล่อยให้คุณผิดหวัง อย่าวิ่งไปรอบ ๆ แล้วละทิ้งคุณ อย่าทำให้คุณร้องไห้ ไม่เคยบอกลา อย่าโกหกและทำร้ายคุณ อย่ายอมแพ้ อย่าปล่อยให้คุณผิดหวัง อย่าวิ่งไปรอบ ๆ แล้วละทิ้งคุณ อย่าทำให้คุณร้องไห้ ไม่เคยบอกลา อย่าโกหกและทำร้ายคุณ อย่ายอมแพ้ อย่าปล่อยให้คุณผิดหวัง อย่าวิ่งไปรอบ ๆ แล้วละทิ้งคุณ อย่าทำให้คุณร้องไห้ ไม่เคยบอกลา อย่าโกหกและทำร้ายคุณ
2: The Golfer (412b): การเล่นกอล์ฟ ASCII-art
'\ . |> 18 >> \. ' | O >> 'o | \. | / \ | / /. ' | JGS ^^^^^^^ `^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
3: จำนวนเพชร (233b): พิมพ์เพชรนี้
1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 12345678987654321 123456787654321 1234567654321 12345654321 123454321 1234321 12321 121 1
4: ตัวอักษรสี่ครั้ง (107b): พิมพ์ตัวอักษรสี่ครั้ง
ABCDEFGHIJKLMNOPQRSTUVWXYZ qwertyuiopasdfghjklzxcvbnm pyfgcrlaoeuidhtnsqjkxbmwvz zyxwvutsrqponmlkjihgfedcba
5: เนื้อเพลงของ Old McDonald (203b): ฟังก์ชั่น Old MacDonald
Old MacDonald มีฟาร์ม EIEIO และในฟาร์มนั้นเขามีวัว EIEIO ด้วยหมู่หมู่ที่นี่และหมู่หมู่ที่นั่น ที่นี่หมู่ที่มีหมู่ทุกที่หมู่หมู่ Old MacDonald มีฟาร์ม EIEIO!
6: ร็อคตลอดเวลาเนื้อเพลง (144b): ร็อครอบนาฬิกา
1, 2, 3 นาฬิกา, 4 โมงเย็น, 5, 6, 7 โมง, 8 โมงเย็น, 9, 10, 11 โมง, 12 โมงเย็น, คืนนี้พวกเราจะเขย่าตลอดเวลา
7: Hello World (296b): พูดว่า "Hello" ต่อโลกในรูปแบบ ASCII
_ _ _ _ _ _ _ _ | | | | ___ | | | ___ __ _____ _ __ | | __ | | | | | _ | | / _ \ | | / _ \ \ \ / \ / / _ \ | '__ | | / _` | | | _ | __ / | | (_) | \ VV / (_) | | | | (_ | | _ | | _ | | _ | \ ___ | _ | _ | \ ___ () \ _ / \ _ / \ ___ / | _ | | _ | \ __ _ (_) | /
8: การอวยพรชาวไอริช (210b): การอวยพรของชาวไอริช
ขอให้ถนนลุกขึ้นเพื่อพบคุณ ขอให้ลมพัดอยู่ข้างหลังคุณเสมอ ขอให้แสงอาทิตย์ส่องแสงอุ่นบนใบหน้าของคุณ ฝนตกลงมาบนทุ่งของคุณ และจนกว่าเราจะพบกันอีกครั้ง ขอพระเจ้าทรงโอบกอดคุณไว้ในอุ้งมือของพระองค์
9: มีหญิงชราคนหนึ่งเนื้อเพลง (1208b): มีหญิงชราคนหนึ่ง
มีหญิงชราที่กลืนกินแมลงวัน ฉันไม่รู้ว่าทำไมเธอกลืนลงไป บางทีเธออาจจะตาย มีหญิงชราคนหนึ่งที่กลืนกินแมงมุม ที่บิดและงอและกระตุกอยู่ภายในเธอ เธอกลืนไปเดอร์เพื่อจับแมลงวัน ฉันไม่รู้ว่าทำไมเธอกลืนลงไป บางทีเธออาจจะตาย มีหญิงชราคนหนึ่งกลืนนก ช่างเป็นเรื่องไร้สาระที่จะกลืนนก เธอกลืนนกไปจับแมงมุม เธอกลืนไปเดอร์เพื่อจับแมลงวัน ฉันไม่รู้ว่าทำไมเธอกลืนลงไป บางทีเธออาจจะตาย มีหญิงชราที่กลืนแมว ลองนึกภาพว่าการกลืนแมว เธอกลืนแมวไปจับนก เธอกลืนนกไปจับแมงมุม เธอกลืนไปเดอร์เพื่อจับแมลงวัน ฉันไม่รู้ว่าทำไมเธอกลืนลงไป บางทีเธออาจจะตาย มีหญิงชราคนหนึ่งกลืนสุนัข ช่างเป็นหมูที่จะกลืนสุนัข เธอกลืนสุนัขไปจับแมว เธอกลืนแมวไปจับนก เธอกลืนนกไปจับแมงมุม เธอกลืนไปเดอร์เพื่อจับแมลงวัน ฉันไม่รู้ว่าทำไมเธอกลืนลงไป บางทีเธออาจจะตาย มีหญิงชราคนหนึ่งกลืนม้า เธอเสียชีวิตแน่นอน
10: ที่อยู่ gettysburg (1452b): วิธีสุ่มคือที่อยู่ Gettysburg
สี่คะแนนและเจ็ดปีที่แล้วบรรพบุรุษของเราได้นำพาชาติใหม่เข้ามาในทวีปนี้โดยตั้งครรภ์ในเสรีภาพ ตอนนี้เรามีส่วนร่วมในสงครามกลางเมืองที่ยิ่งใหญ่ทดสอบว่าประเทศนั้นหรือประเทศใดก็ตามที่รู้สึกและอุทิศตนสามารถยืนยาวได้ เราพบกันในสนามรบที่ยิ่งใหญ่ของสงครามนั้น เรามาอุทิศส่วนหนึ่งของทุ่งนั้นเป็นสถานที่พำนักแห่งสุดท้ายสำหรับผู้ที่ให้ที่นี่ให้ชีวิตของพวกเขาเพื่อชาตินั้นอาจมีชีวิตอยู่ เป็นสิ่งที่เหมาะสมและเหมาะสมที่เราควรทำ แต่ในความหมายที่ใหญ่กว่าเราไม่สามารถอุทิศเราไม่สามารถอุทิศเราไม่สามารถทำให้พื้นดินนี้ศักดิ์สิทธิ์ ชายผู้กล้าหาญทั้งที่มีชีวิตและตายซึ่งดิ้นรนอยู่ที่นี่ได้อุทิศตนให้เหนือกว่าพลังอันต่ำต้อยของเราในการเพิ่มหรือเบี่ยงเบน โลกใบนี้จะโน้ตเล็ก ๆ น้อย ๆ และจำไม่ได้ว่าเราพูดอะไรที่นี่ แต่มันไม่มีวันลืมสิ่งที่พวกเขาทำที่นี่ มันเป็นชีวิตของเราแทนที่จะอุทิศให้กับงานที่ยังไม่เสร็จซึ่งผู้ที่ต่อสู้ที่นี่มีความก้าวหน้าอย่างสูงส่ง เป็นการดีที่เราจะอุทิศตนเพื่องานอันยิ่งใหญ่ที่เหลืออยู่ต่อหน้าเรา - จากความตายที่ได้รับเกียรติเหล่านี้เราได้อุทิศตนให้กับสิ่งที่พวกเขาให้การอุทิศตนอย่างเต็มรูปแบบครั้งสุดท้าย - ว่าเราอยู่ที่นี่อย่างมาก ได้ตายอย่างไร้ค่าซึ่งประเทศนี้ภายใต้พระเจ้าจะมีการเกิดใหม่ของเสรีภาพ - และรัฐบาลของประชาชนโดยประชาชนเพื่อประชาชนจะไม่พินาศไปจากโลก
ทั้งหมด (ไม่บีบอัด): 6135 ตัวอักษร / ไบต์
มีความสุข!
private static final String RICK_ROLL_RETURN = "We're no strangers to love...