fixmint
TH

อักขระที่มองไม่เห็นในข้อความ: ซ่อนอยู่ที่ไหนและลบออกอย่างไร

โดย · · อัปเดตเมื่อ 8 พฤศจิกายน 2026 · อ่าน 4 นาที

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

ลบอักขระที่มองไม่เห็นมีอักขระที่มองไม่เห็นปนอยู่ในข้อความใช้ฟรี

มันมาจากไหน

อักขระที่มองไม่เห็นส่วนใหญ่มาจากการคัดลอก ไม่ได้มาจากการพิมพ์:

  • เว็บไซต์ เว็บไซต์ใช้ช่องว่างที่ตัดบรรทัดไม่ได้ (U+00A0) เพื่อไม่ให้คำสองคำขาดออกจากกันตรงขอบบรรทัด และใช้ช่องว่างความกว้างศูนย์ (U+200B) เพื่อบอกจุดที่คำยาวอาจตัดได้ เมื่อคัดลอกย่อหน้า อักขระเหล่านี้ก็ถูกคัดลอกไปด้วย
  • โปรแกรมประมวลผลคำ มีการแทรกเครื่องหมายขีดกลางแบบอ่อน (U+00AD) สำหรับการตัดคำ อักขระนี้จะไม่เห็นจนกว่าบรรทัดจะถูกตัดตรงจุดนั้น และโปรแกรมบางตัวยังแทรกช่องว่างที่ตัดบรรทัดไม่ได้โดยอัตโนมัติในบางตำแหน่งด้วย
  • แอปแชตและอีเมล ข้อความที่คัดลอกจากแชตหรืออีเมลอาจมีตัวเชื่อมความกว้างศูนย์และเครื่องหมายทิศทาง โดยเฉพาะเมื่อข้อความผสมหลายภาษา
  • ข้อความที่มีหลายทิศทาง ภาษาอาหรับ ฮีบรู และข้อความที่ผสมกันใช้เครื่องหมายทิศทาง เช่น เครื่องหมายจากซ้ายไปขวา (U+200E) เครื่องหมายจากขวาไปซ้าย (U+200F) และอักขระฝังและแทนที่ (U+202A ถึง U+202E) อักขระเหล่านี้ควบคุมการแสดงผลของบรรทัด ไม่ได้เปลี่ยนความหมายของข้อความ
  • เครื่องหมายลำดับไบต์ เครื่องหมายลำดับไบต์ (BOM, U+FEFF) ที่จุดเริ่มต้นของไฟล์เป็นลายเซ็นที่โปรแกรมแก้ไขบางตัวเขียนไว้ มองไม่เห็น แต่จะกลายเป็นอักขระตัวแรกจริง ๆ เมื่ออ่านไฟล์เป็นข้อความธรรมดา
  • หน้าต่างแชต AI ข้อความที่คัดลอกจากอินเทอร์เฟซแชต AI บางตัวก็อาจมีอักขระเหล่านี้ได้เช่นกัน สาเหตุที่เป็นไปได้มากที่สุดคือวิธีการแสดงผลและคัดลอกข้อความ จึงไม่ควรมองว่าเป็นสัญญาณของเจตนาใด ๆ

ทำไมมันจึงก่อปัญหา

อักขระที่มองไม่เห็นแต่ละตัวคือโค้ดพอยต์จริง จึงเปลี่ยนข้อความได้แม้หน้าจอจะดูเหมือนเดิมทุกประการ:

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

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

วิธีตรวจหาอักขระเหล่านี้

การดูข้อความด้วยตาไม่ช่วยอะไร ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้:

  1. วางข้อความลงในเครื่องมือที่แสดงรายการโค้ดพอยต์ เช่น ลบอักขระที่มองไม่เห็น ซึ่งจะรายงานสิ่งที่พบก่อนที่จะมีการเปลี่ยนแปลงใด ๆ
  2. ในโปรแกรมแก้ไขโค้ด ให้เปิดการตั้งค่าที่แสดงช่องว่างหรืออักขระพิเศษ ช่องว่างที่ตัดบรรทัดไม่ได้จะปรากฏเป็นเครื่องหมายที่ต่างจากช่องว่างปกติ
  3. ในภาษาโปรแกรม ให้พิมพ์โค้ดพอยต์ของสตริงที่น่าสงสัย เช่นใน Python คำสั่ง [hex(ord(c)) for c in text] จะแสดงค่าของแต่ละตัว ช่องว่างที่ตัดบรรทัดไม่ได้จะขึ้นเป็น 0xa0 และช่องว่างความกว้างศูนย์จะขึ้นเป็น 0x200b

วิธีลบอักขระเหล่านี้

การลบควรทำอย่างเจาะจง ถ้าลบอักขระที่ไม่ใช่ ASCII ทั้งหมด จะทำให้เครื่องหมายกำกับเสียง เครื่องหมายคำพูด และตัวอักษรจากภาษาอื่นหายไปด้วย ให้ทำดังนี้แทน:

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

แก้ข้อความที่วางมา ถูกออกแบบมาสำหรับข้อความที่คัดลอกมาจากที่อื่น ให้ใช้เมื่อข้อความที่คัดลอกมีการขึ้นบรรทัดใหม่ที่ผิดพลาดหรือการเว้นวรรคที่แปลกด้วย

วิธีทำด้วย fixmint

  1. วางข้อความลงในช่อง ข้อความของคุณ
  2. อ่านรายการสิ่งที่พบ อักขระแต่ละตัวจะมีชื่อกำกับ เช่น ZWSP สำหรับช่องว่างความกว้างศูนย์ และมีเครื่องหมายบอกว่าจะเกิดอะไรขึ้นกับอักขระนั้น
  3. ติ๊ก คงตัวเชื่อมในอีโมจิไว้ ไว้ เพื่อให้ลำดับอีโมจิยังแสดงเป็นสัญลักษณ์เดียว
  4. ติ๊ก แปลงเครื่องหมายคำพูดโค้ง ขีดกลางและขีดยาว และ … เป็น ASCII ธรรมดาด้วย เฉพาะกับโค้ดหรือข้อมูลเท่านั้น จากนั้นใช้ คัดลอก หรือ ดาวน์โหลด .txt

กรณีพิเศษ

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

คำตอบสั้น ๆ

อักขระที่มองไม่เห็นเป็นสัญญาณว่า AI เขียนข้อความหรือไม่?

ไม่ใช่ อักขระเหล่านี้มาจากเว็บไซต์ โปรแกรมประมวลผลคำ แอปแชต และการคัดลอกวางทั่วไป การมีอยู่ของมันไม่ได้บ่งบอกว่าใครหรืออะไรเป็นผู้เขียนข้อความ

ถ้าลบอักขระที่ไม่ใช่ ASCII ทั้งหมด ปัญหาจะหายไปหรือไม่?

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

ฉันจะรู้ได้อย่างไรว่าสตริงมีอักขระที่มองไม่เห็นหรือไม่?

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

แปลจาก ฉบับภาษาอังกฤษ ด้วยความช่วยเหลือของ AI

ความคิดเห็น

    ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย

    คะแนนของคุณ (ไม่บังคับ)

    อีเมลของคุณจะไม่ถูกแสดงหรือเก็บไว้

    ปกของ How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 หน้าว่าด้วยข้อได้เปรียบของมนุษย์ ด้านเศรษฐกิจ และด้านกลยุทธ์ ที่ยังคงหายากแม้ AI จะทำงานด้านการคิดได้เกือบทั้งหมด

    $3.84ซื้อบน Gumroadฉบับภาษาอังกฤษ