ฉันจะพิมพ์อักขระ U + 200B ได้อย่างไร


28

ฉันจะพิมพ์อักขระยูนิโค้ด U + 200B (อักขระเว้นวรรคความกว้างเป็นศูนย์) ด้วยแป้นพิมพ์ได้อย่างไร


3
คุณใช้ระบบปฏิบัติการใดอยู่
Kurt Pfeifle

1
@pipitas: ถ้ามันขึ้นอยู่กับระบบปฏิบัติการฉันต้องการ Windows
Mehper C. Palavuzlar

1
คำถามด้าน: ทำไมคุณต้องการพื้นที่ว่างที่มีความกว้างเป็นศูนย์ มันไม่ได้ช่วยในการจัดรูปแบบความคิดเห็นที่แตกคุณต้องใช้พื้นที่ผมแล้ว
Joey

@Johannes: เพราะฉันไม่สามารถหาคำตอบสำหรับคำถามของฉันใน Meta: meta.stackexchange.com/questions/54990/...และmeta.stackexchange.com/questions/54990/... คุณช่วยอธิบายเกี่ยวกับวิธีใช้พื้นที่ผมได้ไหม
Mehper C. Palavuzlar

อ่าปัญหาต่างกันแล้ว ฉันคิดว่าคุณกำลังลองอะไรบางอย่างเช่นmeta.stackexchange.com/questions/45424สิ่งนี้ที่ ZWS ใช้งานไม่ได้ (ดูความคิดเห็นทดสอบของฉันด้านล่างคำถาม) นอกจากนี้คุณโพสต์ลิงค์เดียวกันสองครั้ง
Joey

คำตอบ:


19

เมื่อใช้ Chrome / Chromium รุ่นล่าสุดคุณสามารถใช้คอนโซลเพื่อคัดลอกอักขระไปยังคลิปบอร์ด:

copy("\u200B")         // works for BMP characters only (U+0000 to U+FFFF)
copy("\u{200B}")       // works for all characters (U+0000 to U+10FFFF)

copy(String.fromCodePoint(0x200B))

15

ก่อนอื่นให้แปลงฐานสิบหก200Bเป็นทศนิยม8203

ประการที่สองตรวจสอบให้แน่ใจว่า numlock เปิดอยู่กดปุ่มการกดแป้นต่อไปนี้ในขณะที่กดปุ่ม Alt ค้างไว้จากนั้นกดตัวเลขสี่หลักบนแป้นตัวเลขและสุดท้ายปล่อยแป้น Alt

Alt+8203

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

หมายเหตุ: ฉันทดสอบสิ่งนี้ด้วย แบบอักษรArial Unicode MSและใช้งานได้ดี


1
ขอบคุณสำหรับคำตอบของคุณ แต่ฉันจะทำอย่างไรตัวอย่างเช่นภายในกล่องแสดงความคิดเห็นนี้
Mehper C. Palavuzlar

11
ส่วนแทรกนี้ U + 2642 ที่นี่ ใน RichEdit ใช้งานได้ (เช่นเดียวกับที่ใช้08203) สำหรับสาเหตุที่ U + 2642: 8203 mod 256 คือ 11 ซึ่งในชุดอักขระ OEM รหัสอักขระของ glyph ♂ (ซึ่งตอนนี้คือ U + 2642) สิ่งนี้สอดคล้องกับสิ่งที่ฉันสังเกตเห็นก่อนหน้านี้: การใช้ Alt + foo ถือว่ารหัสแตกต่างกันไปขึ้นอยู่กับสิ่งที่ขึ้นต้นด้วย หากไม่มี0อยู่ที่จุดเริ่มต้นของรหัสก็จะถูกตีความในชุดอักขระ OEM มิฉะนั้นชุดอักขระดั้งเดิมของระบบ ในทั้งสองกรณี Unicode นั้นเกี่ยวข้องกับการแปลงผลลัพธ์เป็นอักขระเท่านั้น
Joey

1
เห็นได้ชัดว่าสิ่งนี้แตกต่างระหว่างแอปพลิเคชั่นและการควบคุม แต่ไม่ใช่ในทางที่มีความหมายและสามารถคาดเดาได้ดังนั้นสำหรับวิธีการแก้ปัญหาทั่วไปสิ่งนี้ยังไม่ถูกต้อง
Joey

1
เบราว์เซอร์ไม่ควรมีปัญหาในการเลือกแบบอักษรสำหรับรูปแบบเฉพาะที่ไม่มีในแบบอักษรที่ระบุ นอกจากนี้ Arial ยังมี glyph สำหรับ U + 200B ไม่ว่าในกรณีใดคุณไม่ควรเห็นร่ายมนตร์ว่าง (กล่องหรือ U + FFFD) ในระบบกึ่งล่าสุด
Joey

3
คุณพิมพ์อักขระนี้บนอุปกรณ์ที่ไม่มีแผ่นตัวเลขอย่างไรเช่นแล็ปท็อปบางเครื่อง
Borek Bernard

7

ตามคำแนะนำในวิกิพีเดีย น่าเสียดายที่คุณต้องตั้งค่ารีจิสตรีคีย์ก่อน

หลังจากพิธีการนั้นได้รับการดูแลเพียงแค่Altกดและกด+ 2 0 0 Bพิมพ์+และตัวเลขบน numpad และตัวอักษรตามปกติ


3
การพิมพ์ตัวอักษร B ที่ส่วนท้ายของเทอร์มินัล Windows XP ของฉันดูเหมือนจะยกเลิกลำดับการหลบหนีและไม่มีการส่งตัวอักขระไปยังกล่องข้อความ
Goyuix

@Goyuix: หน้าต่างคอนโซลเป็นสัตว์ที่แตกต่างอย่างสิ้นเชิง ... ส่วนใหญ่คุณไม่สามารถป้อนตัวอักษรด้วย Alt + foo ได้
Joey

7

Alt + 0129

สิ่งนี้จะแทรกอักขระที่มีความกว้างเป็นศูนย์


7
0129- hex 0x81 - ไม่เหมือนกับ U + 200B และไม่ใช่อักขระที่มีความกว้างเป็นศูนย์ ในการเข้ารหัสอักขระ Windows Cp1252 และ ISO-8859-1 เป็น "ไม่ใช่ตัวอักษร" - ไม่มีอะไรที่จุดรหัส x81 ดังนั้นใช่มันแสดงผลเป็นไม่มีอะไร แต่มันไม่ใช่ขอบเขตของคำดังนั้นจึงไม่ใช่ เหมือนกับช่องว่างที่มีความกว้างเป็นศูนย์ ใน Unicode codepoint 0x81 อยู่ในช่วงของอักขระควบคุมที่สงวนไว้ "C1" หากคุณใช้การเข้ารหัส Unicode / UTF-8 คุณควรหลีกเลี่ยงอักขระที่อยู่ในช่วง 0x80 ถึง 0x9f (128-159) แม้แต่ในภาษาละติน -1 ช่วงนี้สงวนไว้
Stephen P

2

คุณสามารถไปที่เว็บไซต์นี้: สัญลักษณ์ - ช่วยให้เข้าถึงสัญลักษณ์และอักขระพิเศษมากมายได้อย่างง่ายดาย ที่ด้านล่างของหน้าคุณจะเห็นปุ่มสำหรับอักขระ "Space Width Space" เพียงคลิกที่ปุ่มนั้นเพื่อคัดลอกอักขระ "Zero Width Space" ในคลิปบอร์ด


นี่เป็นวิธีที่ง่ายกว่าคำตอบอื่น ๆ ที่ฉันได้ลอง! ขอบคุณ
Ryan

0

ในการพิมพ์บนแล็ปท็อปที่ไม่มีแป้นตัวเลขแยกต่างหากคุณจะต้องเปิดใช้ numlock ซึ่งจะแตกต่างกันไปขึ้นอยู่กับผู้ผลิตคอมพิวเตอร์ของคุณ หมายเลข 0-9 จึงเป็น MJKLUIO789 ตามลำดับ ในแล็ปท็อปส่วนใหญ่ปุ่มเหล่านี้จะถูกทำเครื่องหมายว่าเป็นเช่นนั้น แต่ถึงแม้ว่าพวกเขาจะไม่ได้มันก็ยังคงทำงานได้


-3

ฉันไม่แน่ใจ 100% แต่ฉันคิดว่าอาจเป็นAlt + 127


ใช้ล็อค num ฉันอาจเพิ่ม!
RobertPitt

อืมดีคนอื่น ๆ inly ฉันจะคิดว่าถ้าเป็นแม่มดรุ่น Unicode เรา 200 หรือ 200B จึงพยายาม ALT + 200 หรือ ALT + 200B
RobertPitt

เมื่อฉันทำมันตัวละครนี้จะปรากฏขึ้น:
Mehper C. Palavuzlar

Alt + 200 =
Mehper C. Palavuzlar

คำตอบนี้ไม่ถูกต้อง - ASCII 127 โดยทั่วไปแล้วจะเป็นอักขระ DEL ไม่ใช่อักขระ Unicode ช่องว่างความกว้างเป็นศูนย์
Goyuix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.