ย้อนข้อความ
ย้อนโดยตัวอักษร คำ หรือบรรทัด
ทำไมการย้อนกลับที่ปลอดภัยสำหรับ Unicode จึงไม่ง่าย?
การย้อนกลับข้อความโดยดัชนีตัวอักษรแบบง่ายจะทำให้เกิดปัญหากับอีโมจิและตัวอักษรรวม: 👨👩👧 (อีโมจิครอบครัว) จริง ๆ แล้วคือสี่จุดรหัสที่เชื่อมต่อกันด้วยตัวเชื่อมที่มีความกว้างเป็นศูนย์ และอีโมจิธงคือสองจุดรหัสตัวชี้ภูมิภาค การแยกด้วย `.split('')` และการย้อนกลับจะทำให้ชิ้นส่วนถูกสับเปลี่ยน
เครื่องมือนี้จะย้อนกลับตามจุดรหัส Unicode ดังนั้นตัวอักษรที่มีเครื่องหมายและข้อความส่วนใหญ่จะอยู่รอด; อีโมจิหลายจุดรหัส (ZWJ sequences, ธง) อาจแยกออกจากกันได้ มีประโยชน์สำหรับการสร้างปริศนา เอฟเฟกต์ข้อความ หรือเพียงแค่ความอยากรู้
กรณีการใช้งาน
- ทดสอบแนวคิดพาลินโดรม — ย้อนกลับวลีเพื่อดูว่ามันอ่านเหมือนกันทั้งสองทางหรือไม่
- เตรียมปริศนาคำ — สร้างคำตอบสำหรับปริศนาไขว้หรือผู้สร้างการค้นหาคำ
- สคริปต์มายากล / จิตวิทยา — เขียนล่วงหน้าการเปิดเผย 'การอ่านใจ' ที่ย้อนกลับไปยังข้อมูลที่ผู้ชมป้อน
- ดีบักการเรนเดอร์ Unicode — ย้อนกลับข้อความ LTR/RTL ที่ผสมกันเพื่อดูว่าเรนเดอร์จัดการทิศทางอย่างไร
ตัวอย่าง
| ข้อมูลนำเข้า | ผลลัพธ์ |
|---|---|
| Hello World | dlroW olleH |
| Café 👨👩👧 | 👨👩👧 éfaC |
คำถามที่พบบ่อย
การย้อนกลับปลอดภัยสำหรับ Unicode หรือไม่?
การย้อนกลับจะทำตามจุดรหัส Unicode ดังนั้นตัวอักษรที่มีเครื่องหมายและตัวอักษรส่วนใหญ่จะอยู่รอด อีโมจิหลายจุดรหัส — ZWJ sequences เช่นสัญลักษณ์ครอบครัวและตัวปรับโทนสีผิว — จะถูกแยกออกเป็นส่วนๆ ดังนั้นพวกเขาจะไม่อยู่ในสภาพสมบูรณ์เสมอไป
การขึ้นบรรทัดใหม่ถูกเก็บรักษาไว้หรือไม่?
ใช่ — แต่ย้อนกลับตามลำดับพร้อมกับทุกอย่างอื่น บรรทัดแรกของข้อมูลนำเข้ากลายเป็นบรรทัดสุดท้ายของผลลัพธ์ (ตัวอักษรของมันก็ย้อนกลับด้วย)
มีข้อจำกัดความยาวหรือไม่?
มีเพียงหน่วยความจำของเบราว์เซอร์ การย้อนกลับเสร็จสิ้นในรอบเดียวและจัดการข้อความหลายเมกะไบต์ได้โดยไม่มีปัญหา
มันทำงานกับสคริปต์จากขวาไปซ้ายได้หรือไม่?
ข้อความสองทิศทาง (อาหรับ ฮีบรู) จะย้อนกลับตัวอักษรทีละตัว ซึ่งโดยปกติแล้วไม่ใช่สิ่งที่คุณต้องการสำหรับภาษานั้น ๆ — ผลลัพธ์ที่มองเห็นขึ้นอยู่กับอัลกอริธึม bidi ของเบราว์เซอร์ของคุณ
เครื่องมือนี้ทำงานแบบออฟไลน์หรือไม่?
เมื่อหน้าโหลดแล้ว ใช่ — ไม่มีการเรียกเครือข่ายเกิดขึ้นระหว่างการย้อนกลับ
