Làm thế nào để bạn nhập các ký tự Unicode bằng cách sử dụng mã thập lục phân?


77

Đây là trong Windows, nhưng câu trả lời cho các hệ điều hành khác có thể có ích cho người khác.

Hầu hết các hướng dẫn đều nói điều gì đó về tác động của việc "giữ phím Alt và nhập mã trên bàn phím". Điều này hoạt động tốt đối với mã thập phân (như 65 cho 'A'), nhưng không hoạt động đối với mã thập lục phân (như U + 0041 cho 'A').

Một số ứng dụng cung cấp các phương tiện khác sẽ cho phép nhập mã ký tự Unicode thập lục phân và sau đó được chuyển đổi. Word cho phép bạn nhập mã (chẳng hạn như 200f) và sau đó chuyển đổi nó thành Unicode bằng cách nhập Alt-X.

Tôi đang tìm kiếm một phương pháp chung để làm điều này sẽ hoạt động với đầu vào tiêu chuẩn.


1
Điều này hoạt động tốt đối với các ký tự unicode không bao gồm các ký tự hex từ A đến F. nên đọc: cho các mã thập phân . Có rất nhiều số thập lục phân không sử dụng AF. Giống như 10, chưa đến mười thì ...
Arjan

1
Điều đó vô dụng với tôi khi tôi cần gõ u + 23AF.
Sẽ

4
Quan điểm của tôi là: bạn không thể nhập những thứ như u + 0041 (hex 41, thập phân 65) bằng bàn phím số (vì khi đó sẽ cần phải nhập 65 thay vì 41) - fileformat.info/info/unicode/char/0041 Vì vậy, sử dụng Alt-trick hoạt động tốt đối với mã thập phân, nhưng không phải đối với mã thập lục phân .
Arjan

1
@ Will: phương thức "alt + NN ..." mong đợi số thập phân , không phải ký hiệu hex của vị trí ký tự. Unicode sử dụng hex. Vì vậy, nếu bạn muốn nhập những gì Unicode thể hiện là "U + 23AF", bạn cần chuyển đổi hex == 23AF thành thập phân == 9135, sau đó nhập "alt + 9135". Đó là phương pháp chung duy nhất được cung cấp. Nhưng: Ký tự bạn muốn vẫn có thể không xuất hiện như mong đợi trong trường văn bản hoặc tài liệu, nếu phông chữ được chọn hiện tại của bạn không có vị trí "U + 23AF" (hoặc nếu đó không phải là phông chữ Unicode ở vị trí đầu tiên!).
Kurt Pfeifle

@Arjan: bạn không gõ ký tự hex bằng phương thức "alt + nnn". Bạn chỉ nhập mã ký tự thập phân . Đó là lý do tại sao bạn không thể nhập các chuỗi "U + 1234" thẳng (không chứa bất kỳ ký tự "af" đáng ghét nào của bạn) vào bàn phím số của bạn dưới dạng "alt + 1234", nhưng bạn cần chuyển đổi hex == 1234 thành dec = = 4660 và sau đó nhập "alt + 4660" trước khi bạn ( CÓ THỂ ) có được những gì bạn muốn. Vì vậy, tuyên bố của bạn "sử dụng thủ thuật thay thế không hoạt động đối với mã thập lục phân" chính xác là vấn đề, nhưng bạn đã bỏ lỡ để tự hiểu nó :-)
Kurt Pfeifle

Câu trả lời:


23

Câu trả lời của harrymc là tốt, cung cấp cho bạn khả năng / được phép thay đổi cài đặt đăng ký.

Nếu không, bạn có thể sử dụng Phụ kiện Máy tính Windows để chuyển đổi từ thập lục phân sang thập phân. Chế độ mặc định sẽ không làm điều này: XP và Vista có chế độ "Khoa học, trong khi Windows 7, 8, 8.1 và 10 có chế độ" Lập trình viên ".

Chọn cơ sở Hex , sau đó nhập số thập lục phân của bạn. Sau đó thay đổi thành cơ sở Dec để xem giá trị tương đương ở dạng thập phân. Đó là số bạn cần nhập vào bàn phím số trong khi giữ phím Alt .

Điều này có thể phụ thuộc vào ngôn ngữ đầu vào và bạn có thể cần phải thêm tiền tố vào giá trị thập phân.


bạn cũng có thể tính toán set /atrong một cửa sổ lệnh ;-). Để chuyển đổi hex = 4321 thành số thập phân, chỉ cần nhập set /a 4*16*16*16+3*16*16+2*16+1và kết quả sẽ hiển thị là 17185
Kurt Pfeifle

3
Ngoài ra, set /a 0x4321cũng sẽ hiển thị 17185.
Marcks Thomas

6
Câu trả lời là sai lệch, bởi vì nó không đề cập đến việc cần một số 0 đứng đầu khi sử dụng số thập phân ngoài phạm vi Ascii (> 127). Nếu bạn muốn nhập U + 23AF và do đó chuyển đổi 23AF thành số thập phân, 9135, sau đó thử sử dụng Alt 9135, bạn sẽ nhận được »» (U + 00BB). Bạn cần gõ Alt 09135 (sử dụng numpad) để có được ký tự đúng.
Jukka K. Korpela

8
Phương pháp sử dụng số thập phân phụ thuộc vào ngôn ngữ đầu vào của người dùng (như một khái niệm của Microsoft), do đó, kết quả thay đổi theo hệ thống và chương trình. Ví dụ, trong hầu hết các chương trình Windows, khi ngôn ngữ hệ thống đã được đặt thành tiếng Anh hoặc ngôn ngữ phương Tây khác, chỉ các ký tự Windows Latin 1 có thể được nhập theo cách này. Bất kỳ Alt 0n nào cho n> 255 sau đó sẽ hoạt động, mod mod 256 256, tức là với n giảm xuống phạm vi 0 ... 255 bằng cách chia cho 256 và lấy phần còn lại.
Jukka K. Korpela

2
Câu trả lời này là sai. Alt + 0nnn (0-255) nhập một ký tự từ bảng mã ANSI của hệ thống (ví dụ: 1252). Giá trị được nhập là modulo 256 như đã đề cập ở trên. Alt + nnn (0-255), không có số 0 đứng đầu, nhập một ký tự từ bảng mã OEM của hệ thống (ví dụ: 437 hoặc 850). Tuy nhiên, 31 mã đầu tiên không phải là các ký tự điều khiển ASCII bình thường, mà thay vào đó là các glyph được hiển thị cho các ký tự này trên PC thập niên 1980 chạy DOS. Trong API Windows, cái sau tương ứng với việc sử dụng MB_USEGLYPHCHARScờ khi giải mã byte thành Unicode thông qua MultiByteToWideChar.
Eryk CN

39

Tìm thấy điều này trong Cách nhập các ký tự Unicode trong Microsoft Windows :

Tôi đã thử nghiệm điều này trên Windows XP và Windows 2003. Phương pháp này hoạt động bất kể cài đặt ngôn ngữ nào của bạn, nhưng là loại khó sử dụng nhất:

  1. Nhấn và giữ phím Alt.
  2. Nhấn phím + (cộng) trên bàn phím số.
  3. Nhập giá trị unicode thập lục phân.
  4. Thả phím Alt.

Than ôi, điều này dường như yêu cầu một thiết lập đăng ký. Nó đã được đặt trên máy tính của tôi, nhưng một số độc giả báo cáo rằng phương pháp này không hiệu quả với họ, và đây có lẽ là lý do. Nếu bạn không biết đăng ký là gì, xin đừng thử cái này. Bên dưới HKEY_CURRENT_USER\Control Panel\Input Method, đặt EnableHexNumpad thành "1". Nếu bạn phải thêm nó, hãy đặt loại là REG_SZ.

Bạn nên đăng xuất sau đó đăng nhập sau khi đăng ký này thay đổi, hoặc thậm chí khởi động lại.


1
nếu tôi không biết registry là gì thì tôi cũng không biết thử.
Vanuan

5
Nếu bạn không biết registry là gì, bạn không nên chạm vào nó. Hỏi một người mà bạn biết để được giúp đỡ.
Wug

+1 nhưng một vài điều: (i) trong cả Firefox và IE nếu mã hex bạn đang cố nhập có chứa một leeter tương ứng với phím tắt Alt + [letter] cho menu, menu sẽ bị rớt xuống và bạn không có được nhân vật của bạn (điều này phá vỡ E & F trên cả hai, A trên IE và B trên Firefox, notepad hoạt động tốt như hộp winkey + R "run"); (ii) REG_SZ có thể xuất hiện trong menu nhập chuột phải vào dưới dạng "Chuỗi đăng ký"
Chris H

Đây có phải là để làm việc trong tất cả các ứng dụng? Tôi đã làm cho nó hoạt động trong notepad, notepad ++, Firefox và thậm chí cả Excel, nhưng không phải trong Word, Outlook, PowerPoint hay Lync. Đây là trên W7.
Didier L

3
Xin chào harrymc. Làm cách nào để nhập các chữ cái có trong hex? Ví dụ: "👉" = 👉 - sau khi tôi nhấn Flệnh menu alt được thực thi trên windows. Nó không bay với chuyển đổi thành thập phân (128073) không thêm các số 0 đứng đầu.
Matas Vaitkevicius

17

Trên Mac OS X: mở Quốc tế trong Tùy chọn hệ thống và trong Menu nhập, chọn "Unicode Hex Input" để thêm tùy chọn này vào menu nhập. Nghe có vẻ rõ ràng, nhưng điều này được giấu rất kỹ trong danh sách dài các ngôn ngữ, giữa tiếng Ukraina và tiếng Việt. Khi được chọn, nhấn và giữ tùy chọn và nhập mã hex gồm 4 chữ số.

Ngoài ra trên OS X: Máy tính có thể được đặt thành chế độ Lập trình viên (Cmd-3), cho phép nhập mã thập phân, bát phân và thập lục phân, sau đó được hiển thị dưới dạng ASCII hoặc Unicode. Tuy nhiên, Sao chép sẽ cung cấp cho một mã, không phải (các) ký tự tương đương. Bất kỳ ai?

(Đối với Windows, hãy xem Cách nhập các ký tự Unicode trong Microsoft Windows ; đối với các phương thức nhập khác, hãy xem Wikipedia .)

Và ở đây trên Super User:

Và để đi vào cực đoan:


9

Trong Ubuntu (và các biến thể của chúng, như LinuxMint), bạn có thể nhập các giá trị Unicode bằng cách nhấn Ctrl+ Shift+ utheo sau là giá trị Unicode và Enter, ví dụ:

Ctrl+ Shift+ u 263asau đó Nhập sản lượng:

Văn bản:
Ảnh chụp màn hình:văn bản thay thế

Bạn có thể kết hợp điều này với AutoHotkey để nhập liệu dễ dàng hơn hoặc nhập liệu có thể có trong Windows.


2
Thật không may, nó chỉ hoạt động trong các ứng dụng GTK +.
Ốc cơ khí

2
Bạn cũng có thể giữ phím Ctrl-Shift trong khi nhập mã, điều này tránh việc phải nhấn Enter sau đó.
Ốc cơ khí

1
Tôi đã tìm thấy một giải pháp tốt hơn: Bạn có thể thêm dấu trọng âm vào bất kỳ ký tự trước nào bằng cách sử dụng Unicode kết hợp các dấu phụ. Unicode 0301 - 0308 rất hữu ích cho Bính âm. ví dụ: "a" + [ctrl] [shift] [u] + 0301 [return] -> á. Danh sách bính âm: ó -> 0301; ò -> 0300; ō -> 0304; ŏ -> 0306; ö -> 0308; xem en.wikipedia.org/wiki/Combining_character#Unicode_ranges
emf

6

Tôi đã viết một công cụ nhập liệu Unicode dựa trên AutoHotkey nhỏ vì tôi không tìm thấy giải pháp nào tốt hơn. Bạn có thể chèn các ký tự unicode bằng Shift+ Ctrl+ U.

Hộp thoại Unicode

Về cơ bản, nó chuyển đổi mục nhập thành một ký tự unicode và kiểu gõ vào nó ở vị trí con trỏ.

Nó không hỗ trợ các ký tự unicode 6 chữ số. Ngoài ra, nếu bạn có trường nhập liệu trong đó tất cả văn bản được chọn khi mất tiêu điểm, tất cả văn bản sẽ bị ghi đè (Tôi nghĩ rằng tôi nhớ một phiên bản Firefox cũ đã thể hiện hành vi này).

Để tham khảo, ở đây là nguồn AutoHotkey nếu bạn muốn tự biên dịch nó:

#SingleInstance force
#Persistent
;Menu, Tray, icon, unicode.ico
Menu, Tray, nostandard ; Put the following menu items on top (default: bottom)
Menu, Tray, add, Info, InfoHandler, -10
Menu, Tray, add
Menu, Tray, standard ; Add default menu items at the bottom
return

InfoHandler:
MsgBox Press Shift+Ctrl+U to get an entry field for unicode points (see decodeunicode.org for a list).`n`nAuthor: Simon A. Eugster <simon.eu@gmail.com> / granjow.net
return

+^u::
InputBox, codepoint, Unicode code point, U+
if not ErrorLevel
    Send {U+%codepoint%}
return

2

Nó cũng phụ thuộc vào nơi bạn muốn sử dụng các ký tự đặc biệt. Với các ứng dụng MS Office, bạn không cần phải biết mã ASCII cho một số ký tự nhất định - ví dụ: để nhập một diaresis (nghĩa là hai dấu chấm bạn thấy ở trên một số ký tự bằng các từ như ngây thơ), trong Word / Outlook / etc bạn có thể nhấn Ctrl + ':' (nghĩa là Ctrl + Shift +;) theo sau là 'i'.

Có một danh sách các phím tắt có sẵn tại http://word.mvps.org/FAQs/General/InsertSpecChars.htm ... chỉ cần cuộn xuống "Ký tự quốc tế".

Tôi không biết liệu có ứng dụng phi Office nào hỗ trợ các phím tắt tương tự không.


2

Linux (bao gồm các ứng dụng Qt / KDE)

Như JMD đã đề cập, bạn có thể nhấn giữ Ctrl- Shift, nhập u1f4a9và phát hành để nhập U + 1F4A9 trong các ứng dụng GTK + (bao gồm các chương trình Gnome, Firefox, Chromium và LibreOffice, ngay cả trong KDE). Một số chương trình còn hỗ trợ gõ vào chuỗi Ctrl- Shift- U, 1, f, 4, a, 9, Enter.

Thật không may, điều này không hoạt động trong các ứng dụng Qt (bao gồm các chương trình KDE, Mathicala và VLC). Đối với các ký tự BMP, có một phương thức nhập Unicode IBus. Để bật, hãy mở tùy chọn IBus và thêm phương thức nhập "Khác - unicode (m17n)" (hai gói ibus-m17nibus-qt4 phải được cài đặt). Khi con trỏ ở trong vùng văn bản, hãy kích hoạt phương thức nhập (sử dụng thanh công cụ IBus hoặc phím tắt). Trong khi kích hoạt, phương thức nhập cho phép bạn nhập Ctrl- Shift- Utheo sau là 4 chữ số hex, để nhập ký tự Unicode tương ứng. Điều này chỉ hoạt động cho các nhân vật BMP, mặc dù.

(Được thử nghiệm trong Ubuntu.)


Không hoạt động trên KDE đối với tôi ..
Jack

Tôi có thể tìm thấy các ưu tiên IBus ở đâu?
Anarcat

1

Có lẽ không chính xác những gì bạn đang hỏi, nhưng đó là những gì tôi đang tìm kiếm. Trên Windows 10, bạn có thể nhấn Win+ .hoặc Win+ ;để mở trình duyệt biểu tượng cảm xúc:

nhập mô tả hình ảnh ở đây

Như bạn có thể thấy trong hình trên, bạn cũng có thể tìm kiếm bằng cách gõ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.