ข้ามไปยังเนื้อหา

เครื่องมือกลับข้อความ: กลับข้อความและพลิกอักขระทันที

เครื่องมือกลับข้อความออนไลน์ฟรีที่สามารถกลับข้อความได้ทันที พลิกอักขระ ตรวจสอบพาลินโดรม และสร้างข้อความย้อนกลับ ใช้งานได้กับ Unicode อีโมจิ และทุกภาษา

เครื่องมือกลับข้อความ

ป้อนหรือวางข้อความด้านล่างเพื่อกลับลำดับอักขระทันที ดูผลลัพธ์แบบเรียลไทม์ขณะที่คุณพิมพ์

เครื่องคำนวณโหลด...
📚

เอกสารประกอบการใช้งาน

เครื่องกลับข้อความคืออะไร?

เครื่องกลับข้อความเป็นเครื่องมือที่สลับลำดับอักขระในข้อความ การพิมพ์ "hello" จะได้ "olleh" เครื่องมือนี้ทำงานโดยเขียนอักขระทุกตัวของข้อมูลขาเข้าแบบย้อนกลับจากตัวสุดท้ายไปยังตัวแรก ผู้คนใช้เครื่องมือนี้เพื่อสร้างข้อความย้อนกลับ ทดสอบว่าคำเป็นพาลินโดรมหรือไม่ หรือศึกษาแนวทางการกลับสตริงในการเขียนโปรแกรม

วิธีใช้เครื่องกลับข้อความ

  1. พิมพ์หรือวางข้อความลงในช่องป้อนข้อมูล
  2. ข้อความที่กลับแล้วจะแสดงด้านล่างทันทีเมื่อหยุดพิมพ์ ไม่ต้องกดปุ่ม
  3. กดปุ่มคัดลอกเพื่อคัดลอกผลลัพธ์

ปุ่มรีเซ็ตจะล้างทั้งข้อมูลขาเข้าและผลลัพธ์ เครื่องมือนี้รับอักขระได้สูงสุด 10,000 ตัว หากยาวกว่านั้นจะแสดงข้อความผิดพลาดให้ย่อข้อความ จำนวนนี้นับตามอักขระที่มองเห็น ดังนั้นอีโมจิหนึ่งตัวจึงนับเป็นหนึ่งอักขระ แม้คอมพิวเตอร์จะจัดเก็บเป็นหลายส่วนก็ตาม

สูตรการกลับข้อความ

สำหรับสตริงที่มีความยาว n และประกอบด้วยอักขระ c1c2…cnc_1 c_2 \dots c_n สตริงที่กลับแล้วคือ:

S′=cncn−1…c2c1S' = c_n c_{n-1} \dots c_2 c_1

กล่าวง่าย ๆ คือ อักขระตัวสุดท้ายจะกลายเป็นตัวแรก ตัวรองสุดท้ายจะกลายเป็นตัวที่สอง และดำเนินต่อไปเช่นนี้จนกระทั่งอักขระตัวแรกกลายเป็นตัวสุดท้าย

อัลกอริทึมทำงานอย่างไรทีละขั้นตอน

  1. เริ่มต้นด้วยผลลัพธ์ว่างเปล่า
  2. นำอักขระตัวสุดท้ายของข้อมูลขาเข้าไปเพิ่มในผลลัพธ์
  3. นำอักขระรองสุดท้ายไปเพิ่ม
  4. ทำซ้ำจนเพิ่มอักขระครบทุกตัวในลำดับย้อนกลับ

เครื่องมือกลับข้อความส่วนใหญ่ทำงานกับอักขระคอมพิวเตอร์แต่ละหน่วย แต่เครื่องมือนี้จะจัดกลุ่มอีโมจิ ธง และตัวอักษรที่มีเครื่องหมายกำกับเสียงแต่ละตัวให้เป็นหน่วยเดียวก่อนกลับลำดับ โดยใช้วิธีที่เรียกว่าการแบ่งส่วนกลุ่มกราฟีม ส่วนด้านล่างจะอธิบายว่าเหตุใดเรื่องนี้จึงสำคัญ

ตัวอย่างพร้อมวิธีทำ

ข้อมูลขาเข้า: Hello, World!

กลับแล้ว: !dlroW ,olleH

อักขระทุกตัว รวมถึงจุลภาค ช่องว่าง และเครื่องหมายอัศเจรีย์ ยังคงเป็นอักขระเดิม มีเพียงลำดับเท่านั้นที่เปลี่ยน

การจัดการอีโมจิ เครื่องหมายกำกับเสียง และอักขระยูนิโคดอื่น ๆ

คอมพิวเตอร์มักจัดเก็บอักขระที่มองเห็นได้หนึ่งตัว เช่น อีโมจิหรือตัวอักษรที่มีเครื่องหมายกำกับเสียง เป็นหน่วยย่อยหลายหน่วยที่เรียกว่าจุดรหัส วิธีการกลับลำดับที่สลับหน่วยเหล่านี้ทีละหน่วยโดยไม่พิจารณาว่าหน่วยใดอยู่ด้วยกัน อาจทำให้อักขระแยกออกจากกัน

ตัวอย่างเช่น "Hello 👍" มีอีโมจิยกนิ้วโป้งที่สร้างจากหน่วยที่ซ่อนอยู่คู่หนึ่ง การกลับลำดับทีละหน่วยแบบพื้นฐานอาจแยกคู่นี้ออกจากกันและทำให้เกิดสัญลักษณ์ที่เสียหายแทนอีโมจิ เครื่องมือนี้หลีกเลี่ยงปัญหาดังกล่าวโดยถือว่าอีโมจิ ธง และตัวอักษรที่มีเครื่องหมายกำกับเสียงแต่ละตัวเป็นหนึ่งหน่วย ดังนั้น "Hello 👍" จึงกลายเป็น "👍 olleH" อย่างถูกต้อง อีโมจิธงซึ่งสร้างจากสัญลักษณ์ที่ซ่อนอยู่สองตัวแทนรหัสประเทศก็จะยังคงสมบูรณ์: "🇺🇸 USA" จะกลับเป็น "ASU 🇺🇸" แทนที่จะแยกธงออกจากกัน

การใช้งานทั่วไป

  • การตรวจสอบพาลินโดรม: พาลินโดรมเป็นข้อความที่อ่านจากด้านหน้าไปด้านหลังและจากด้านหลังไปด้านหน้าได้เหมือนกัน เช่น "racecar" การเปรียบเทียบคำกับคำที่กลับแล้วเป็นวิธีหนึ่งในการทดสอบเรื่องนี้
  • การเรียนรู้การเขียนโค้ด: การกลับสตริงเป็นแบบฝึกหัดทั่วไปสำหรับฝึกใช้ลูป อาร์เรย์ และสแตก
  • เกมคำศัพท์และปริศนา: คำที่กลับแล้วใช้ซ่อนข้อความในปริศนาและห้องหลบหนี
  • เอฟเฟกต์การออกแบบ: นักออกแบบบางคนกลับข้อความเพื่อสร้างโลโก้สะท้อนหรือเอฟเฟกต์ภาพ
  • การดีบัก: การเปรียบเทียบข้อความตามลำดับปกติกับข้อความที่กลับแล้วอาจช่วยตรวจพบข้อผิดพลาดของข้อมูลบางประเภท

การกลับอักขระกับการกลับคำ

การดำเนินการสองอย่างนี้มักถูกสับสนกัน

  • การกลับอักขระ (สิ่งที่เครื่องมือนี้ทำ): อักขระทุกตัวจะถูกกลับลำดับ "Hello World" จะกลายเป็น "dlroW olleH"
  • การกลับคำ: แต่ละคำยังคงเดิม แต่ลำดับของคำจะเปลี่ยน "Hello World" จะกลายเป็น "World Hello"

ประวัติโดยย่อ

การเขียนแบบกลับลำดับและแบบสะท้อนมีมาก่อนคอมพิวเตอร์หลายพันปี จารึกกรีกโบราณบางชิ้นใช้รูปแบบที่เรียกว่า boustrophedon ซึ่งสลับทิศทางของแต่ละบรรทัด จากซ้ายไปขวาแล้วจากขวาไปซ้าย คล้ายกับทิศทางที่วัวไถนา เลโอนาร์โด ดา วินชีเขียนสมุดบันทึกจำนวนมากด้วยอักษรสะท้อน ซึ่งจะอ่านได้เมื่อยกขึ้นส่องกระจกเท่านั้น นักประวัติศาสตร์ยังคงถกเถียงกันว่าเขาทำเช่นนี้เพื่อเก็บเป็นความลับ เพื่อความสะดวกในฐานะคนถนัดซ้าย หรือเพื่อป้องกันไม่ให้หมึกเลอะ

ในการประมวลผล การกลับสตริงเป็นแบบฝึกหัดการเขียนโปรแกรมมาตรฐานมาตั้งแต่ยุคแรกของวิทยาการคอมพิวเตอร์ มักใช้สอนการทำงานของสแตกและอาร์เรย์ เพราะการนำอักขระใส่สแตกแล้วนำออกจะกลับลำดับของอักขระโดยอัตโนมัติ

วิธีกลับข้อความในโค้ด

ภาษาโปรแกรมส่วนใหญ่มีวิธีในตัวหรือวิธีง่าย ๆ สำหรับกลับสตริง:

1text = "Hello, World!"
2print(text[::-1])  # !dlroW ,olleH
3

ตัวอย่างทั้งสองกลับข้อความได้ถูกต้องสำหรับตัวอักษรและตัวเลขทั่วไป รวมถึงอีโมจิที่เป็นหน่วยเดียว เช่น 🌍 แต่ยังอาจแยกอักขระที่สร้างจากหน่วยซ่อนอยู่หลายหน่วยออกจากกันได้ เช่น อีโมจิธงบางชนิด ตัวอักษรที่พิมพ์โดยใช้เครื่องหมายกำกับเสียงแยกต่างหาก หรืออีโมจิครอบครัวที่เชื่อมด้วยอักขระเชื่อมต่อพิเศษ การกลับลำดับอย่างปลอดภัยต่อกลุ่มกราฟีมเต็มรูปแบบ ซึ่งเป็นวิธีที่เครื่องมือนี้ใช้ ต้องอาศัยฟังก์ชันเฉพาะ เช่น Intl.Segmenter ของ JavaScript

ประสิทธิภาพ

การกลับข้อความใช้เวลาเชิงเส้น อัลกอริทึมจะดูอักขระแต่ละตัวเพียงครั้งเดียว ดังนั้นเมื่อเพิ่มข้อมูลขาเข้าเป็นสองเท่า งานที่ต้องทำก็จะเพิ่มขึ้นประมาณสองเท่า สำหรับข้อความทั่วไปตั้งแต่คำเดียวไปจนถึงหลายหน้า ผลลัพธ์จะแสดงแทบจะทันที ไฟล์ขนาดใหญ่มากตั้งแต่ระดับเมกะไบต์ขึ้นไปเหมาะกับการจัดการด้วยโปรแกรมเฉพาะทางที่อ่านข้อมูลเป็นกระแสแทนการโหลดทั้งหมดไว้ในหน่วยความจำในครั้งเดียว

คำถามที่พบบ่อย

จะกลับข้อความออนไลน์ได้อย่างไร?

วางหรือพิมพ์ข้อความลงในช่องด้านบน ข้อความที่กลับแล้วจะแสดงโดยอัตโนมัติทันทีเมื่อหยุดพิมพ์ ใช้ปุ่มคัดลอกเพื่อคัดลอกผลลัพธ์

มีความยาวข้อความสูงสุดหรือไม่?

มี เครื่องมือนี้รับอักขระได้สูงสุด 10,000 ตัว หากยาวกว่านั้นจะแสดงข้อความผิดพลาดแทนผลลัพธ์ อักขระจะถูกนับตามลักษณะที่ปรากฏบนหน้าจอ ดังนั้นอีโมจิหรือตัวอักษรที่มีเครื่องหมายกำกับเสียงจึงนับเป็นหนึ่งตัว ไม่ใช่สองตัว

เครื่องมือนี้กลับคำหรือกลับเฉพาะอักขระ?

เครื่องมือนี้กลับอักขระแต่ละตัว ไม่ได้เปลี่ยนลำดับของคำ "Hello World" จะกลายเป็น "dlroW olleH" ไม่ใช่ "World Hello"

รองรับอีโมจิและข้อความที่ไม่ใช่ภาษาอังกฤษหรือไม่?

รองรับ เครื่องมือนี้ถือว่าอีโมจิ ธง และตัวอักษรที่มีเครื่องหมายกำกับเสียงเป็นหน่วยเดียว จึงยังคงสมบูรณ์หลังการกลับลำดับ และยังทำงานกับอักษรทุกระบบ รวมถึงข้อความภาษาจีน อาหรับ และซีริลลิก

หากกลับข้อความสองครั้ง จะได้ข้อความเดิมกลับมาหรือไม่?

ได้ การกลับสตริงที่กลับแล้วจะคืนข้อความเดิม คุณสมบัตินี้เรียกว่าอินโวลูชัน

ข้อความที่กลับแล้วมีประโยชน์สำหรับการเข้ารหัสหรือไม่?

ไม่ การกลับอักขระไม่ปลอดภัย เป็นเพียงการซ่อนข้อความในเชิงภาพ และใครก็ตามที่กลับลำดับอีกครั้งก็สามารถอ่านข้อความได้

เอกสารอ้างอิง

  1. The Unicode Consortium. ภาคผนวกมาตรฐานยูนิโคด #29: การแบ่งส่วนข้อความยูนิโคด
  2. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). บทนำสู่อัลกอริทึม (ฉบับที่ 3). MIT Press
  3. MDN Web Docs. Intl.Segmenter. Mozilla Developer Network