ย้อนข้อความ

ย้อนโดยตัวอักษร คำ หรือบรรทัด

ทำไมการย้อนกลับที่ปลอดภัยสำหรับ Unicode จึงไม่ง่าย?

การย้อนกลับข้อความโดยดัชนีตัวอักษรแบบง่ายจะทำให้เกิดปัญหากับอีโมจิและตัวอักษรรวม: 👨‍👩‍👧 (อีโมจิครอบครัว) จริง ๆ แล้วคือสี่จุดรหัสที่เชื่อมต่อกันด้วยตัวเชื่อมที่มีความกว้างเป็นศูนย์ และอีโมจิธงคือสองจุดรหัสตัวชี้ภูมิภาค การแยกด้วย `.split('')` และการย้อนกลับจะทำให้ชิ้นส่วนถูกสับเปลี่ยน

เครื่องมือนี้จะย้อนกลับตามจุดรหัส Unicode ดังนั้นตัวอักษรที่มีเครื่องหมายและข้อความส่วนใหญ่จะอยู่รอด; อีโมจิหลายจุดรหัส (ZWJ sequences, ธง) อาจแยกออกจากกันได้ มีประโยชน์สำหรับการสร้างปริศนา เอฟเฟกต์ข้อความ หรือเพียงแค่ความอยากรู้

กรณีการใช้งาน

  • ทดสอบแนวคิดพาลินโดรม — ย้อนกลับวลีเพื่อดูว่ามันอ่านเหมือนกันทั้งสองทางหรือไม่
  • เตรียมปริศนาคำ — สร้างคำตอบสำหรับปริศนาไขว้หรือผู้สร้างการค้นหาคำ
  • สคริปต์มายากล / จิตวิทยา — เขียนล่วงหน้าการเปิดเผย 'การอ่านใจ' ที่ย้อนกลับไปยังข้อมูลที่ผู้ชมป้อน
  • ดีบักการเรนเดอร์ Unicode — ย้อนกลับข้อความ LTR/RTL ที่ผสมกันเพื่อดูว่าเรนเดอร์จัดการทิศทางอย่างไร

ตัวอย่าง

ข้อมูลนำเข้าผลลัพธ์
Hello WorlddlroW olleH
Café 👨‍👩‍👧👨‍👩‍👧 éfaC

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

การย้อนกลับปลอดภัยสำหรับ Unicode หรือไม่?

การย้อนกลับจะทำตามจุดรหัส Unicode ดังนั้นตัวอักษรที่มีเครื่องหมายและตัวอักษรส่วนใหญ่จะอยู่รอด อีโมจิหลายจุดรหัส — ZWJ sequences เช่นสัญลักษณ์ครอบครัวและตัวปรับโทนสีผิว — จะถูกแยกออกเป็นส่วนๆ ดังนั้นพวกเขาจะไม่อยู่ในสภาพสมบูรณ์เสมอไป

การขึ้นบรรทัดใหม่ถูกเก็บรักษาไว้หรือไม่?

ใช่ — แต่ย้อนกลับตามลำดับพร้อมกับทุกอย่างอื่น บรรทัดแรกของข้อมูลนำเข้ากลายเป็นบรรทัดสุดท้ายของผลลัพธ์ (ตัวอักษรของมันก็ย้อนกลับด้วย)

มีข้อจำกัดความยาวหรือไม่?

มีเพียงหน่วยความจำของเบราว์เซอร์ การย้อนกลับเสร็จสิ้นในรอบเดียวและจัดการข้อความหลายเมกะไบต์ได้โดยไม่มีปัญหา

มันทำงานกับสคริปต์จากขวาไปซ้ายได้หรือไม่?

ข้อความสองทิศทาง (อาหรับ ฮีบรู) จะย้อนกลับตัวอักษรทีละตัว ซึ่งโดยปกติแล้วไม่ใช่สิ่งที่คุณต้องการสำหรับภาษานั้น ๆ — ผลลัพธ์ที่มองเห็นขึ้นอยู่กับอัลกอริธึม bidi ของเบราว์เซอร์ของคุณ

เครื่องมือนี้ทำงานแบบออฟไลน์หรือไม่?

เมื่อหน้าโหลดแล้ว ใช่ — ไม่มีการเรียกเครือข่ายเกิดขึ้นระหว่างการย้อนกลับ