Onaltılık kodları kullanarak Unicode karakterleri nasıl yazarsınız?


77

Bu, Windows'tadır, ancak diğer işletim sistemlerinin cevapları başkaları için kullanışlı olabilir.

Kılavuzların çoğu, "Alt tuşunu basılı tutun ve tuş takımındaki kodu yazın" etkisiyle bir şeyler söyler. Bu, ondalık kodlar için (örneğin 'A' için 65 gibi) iyi çalışır, ancak onaltılık kodlar için ( 'A' için U + 0041 gibi ) çalışmaz .

Bazı uygulamalar onaltılık Unicode karakter kodlarının yazılmasını ve daha sonra dönüştürülmesini sağlayacak başka olanaklar sunar. Word, kodu (200f gibi) yazmanıza ve Alt-X yazarak Unicode'a dönüştürmenize olanak tanır.

Bunu standart girdiyle çalışacak genel bir metot arıyorum.


1
Bu, A'dan F'ye kadar altıgen karakterler içermeyen unicode karakterler için iyi çalışır : ondalık kodlar için . AF kullanmayan çok sayıda onaltılık sayılar vardır. 10 gibi, o zaman on değil ...
Arjan

1
Bir u + 23AF yazmam gerektiğinde bu benim için işe yaramaz.
Will

4
Demek istediğim: sayısal tuş takımını kullanarak u + 0041 (hex 41, ondalık 65) gibi şeyler yazamazsınız (biri daha sonra 41 yerine 65 yazmanız gerekir) - fileformat.info/info/unicode/char/0041 Bu nedenle, Alt-trick kullanmak ondalık kodlar için iyi çalışır, ancak onaltılık kodlar için iyi olmaz .
Arjan

1
@ Will: "alt + NN ..." metodu , karakter pozisyonunun onaltılık gösterimini değil, ondalık değerini bekler . Unicode hex kullanır. Bu nedenle, Unicode'un "U + 23AF" olarak neyi temsil ettiğini yazmak istiyorsanız hex == 23AF'yi ondalık == 9135'e dönüştürmeniz ve ardından "alt + 9135" yazmanız gerekir. Sunulan tek genel yöntem bu. Ancak: İstediğiniz karakter metin alanı veya belgesinde beklediğiniz gibi görünmeyebilir, seçili olan fontunuzda "U + 23AF" doldurulmuş yer yoksa (ya da ilk sırada Unicode yazı tipi değilse!).
Kurt Pfeifle

@Arjan: "alt + nnn" yöntemiyle hex karakterleri yazmazsınız . Yalnızca ondalık karakter kodları yazarsınız. Bu nedenle düz "U + 1234" karakterlerini ("af" karakterlerinden hiçbirini içermeyen) "alt + 1234" olarak sayısal tuş takımına bile yazamazsınız, ancak hex == 1234 'ü dec =' a dönüştürmeniz gerekir. = 4660 ve sonra " MAY + 4660" yazıp ( MAY ) istediğinizi elde etmeden önce . "Alt-hile kullanmak onaltılı kodlar için işe yaramıyor" ifadesi problemi tam olarak çözüyor, ama kendin anlayamadığın için :-)
Kurt Pfeifle

Yanıtlar:


23

harrymc'nin cevabı iyidir, kayıt defteri ayarlarını değiştirebilmenizi / izin vermenizi sağlamak.

Değilse, onaltılıktan ondalık sayıya dönüştürmek için Windows Hesap Makinesi Aksesuarını kullanabilirsiniz. Varsayılan mod bunu yapmaz: XP ve Vista "Bilimsel modda, Windows 7, 8, 8.1 ve 10" Programlayıcı "moda sahip.

Onaltılık baz'ı seçin ve onaltılık numaranızı yazın. Ardından eşdeğer değeri ondalık olarak görmek için Aralık tabanına geçin. Alt tuşunu basılı tutarken sayısal tuş takımınıza yazmanız gereken sayı budur .

Bu , giriş diline bağlı olabilir ve sıfır için ondalık değere önek girmeniz gerekebilir.


ayrıca set /abir komut penceresinde ;-) ile hesaplayabilirsiniz . Onaltılık = set /a 4*16*16*16+3*16*16+2*16+14321'i ondalık değere dönüştürmek için, sadece yazın ve sonuç 17185 olarak görünecektir
Kurt Pfeifle

3
Alternatif olarak, set /a 0x4321aynı zamanda 17185 gösterecektir.
Marcks Thomas

6
Cevap yanıltıcıdır, çünkü Ascii aralığının dışında bir ondalık sayı kullanırken (> 127) baş sıfıra ihtiyaç duyulduğundan bahsetmez. U + 23AF yazmak ve bu nedenle 23AF'ı ondalık basamağa 9135'e dönüştürmek istiyorsanız, Alt 9135'i kullanmayı deneyin, “» ”(U + 00BB) alırsınız. Doğru karakteri alabilmek için Alt 09135 (sayısal tuş takımını kullanarak) yazmanız gerekir.
Jukka K. Korpela 9:13

8
Ondalık sayıları kullanan yöntem “giriş diline” (Microsoft kavramı olarak) bağlıdır, bu nedenle sonuçlar sisteme ve programa göre değişir. Örneğin, çoğu Windows programında, sistem dili İngilizce veya diğer Batı dillerine ayarlandığında, yalnızca Windows Latin 1 karakterleri bu şekilde yazılabilir. N> 255 için herhangi bir Alt 0n daha sonra “modulo 256” çalışacaktır, yani n, 256'ya bölünerek ve kalanı alarak 0 ... 255 aralığına düşürülmüştür.
Jukka K. Korpela

2
Bu cevap yanlış. Alt + 0nnn (0-255) sistemin ANSI kod sayfasından bir karakter girer (örn. 1252). Girilen değer yukarıda belirtildiği gibi modulo 256'dır. Alt + nnn (0-255), baştaki sıfır olmadan, sistemin OEM kod sayfasından bir karakter girer (örn. 437 veya 850). Bununla birlikte, ilk 31 kod normal ASCII kontrol karakterleri değildir, bunun yerine DOS kullanan 1980'lerde bu karakterlerde görüntülenen gliflerdir. Windows API'sinde, ikincisi MB_USEGLYPHCHARSbayt kodlarını Unicode aracılığıyla çözerken bayrağın kullanılmasına karşılık gelir MultiByteToWideChar.
Eryk Sun

39

Microsoft Windows'da Unicode karakterler nasıl girilir içinde bulundu :

Bunu Windows XP ve Windows 2003'te test ettim. Bu yöntem, dil ayarlarınızdan bağımsız olarak çalışır, ancak yazması en zor olandır:

  1. Alt tuşunu basılı tutun.
  2. Sayısal tuş takımındaki + (artı) tuşuna basın.
  3. Onaltılık unicode değerini yazın.
  4. Alt tuşunu bırakın.

Ne yazık ki, bu bir kayıt defteri ayarı gerektiriyor. Bilgisayarımda zaten kurulmuştu, ancak bazı okuyucular bu yöntemin onlar için işe yaramadığını bildiriyorlar ve bu yüzden bu yüzden. Kayıt defterinin ne olduğunu bilmiyorsanız, lütfen bunu denemeyin. Altında HKEY_CURRENT_USER\Control Panel\Input MethodEnableHexNumpad "1" olarak ayarlayın. Eklemeniz gerekiyorsa, türü REG_SZ olarak ayarlayın.

Bu kayıt defteri değişikliğinden sonra oturumu kapatıp oturum açmalı, hatta yeniden başlatmalısınız.


1
Kayıt defterinin ne olduğunu bilmiyorum, o zaman ne denemeyi bilmiyorum.
Vanuan

5
Kayıt defterinin ne olduğunu bilmiyorsanız, asla dokunmamanız gerekir. Tanıdığınız birinden yardım isteyin.
Wug

+1 ama birkaç şey: (i) Hem Firefox hem de IE'de yazmaya çalıştığınız onaltılık kod, bir menü için Alt + [letter] kısayoluna karşılık gelen bir leeter içeriyorsa, menü açılır ve siz karakterini al (bu mola E & F'de, A'da IE'de ve B'de Firefox'ta, not defteri winkey + R "run" kutusunda olduğu gibi çalışıyor); (ii) REG_SZ sağ tıkladığınızda yeni giriş menüsünde "Kayıt Defteri Dizesi" olarak görünebilir
Chris H

Bunun tüm uygulamalarda çalışması mı gerekiyor? Notepad, notepad ++, Firefox ve hatta Excel'de çalışmasını sağladım, ancak Word, Outlook, PowerPoint ve Lync'te çalışmadım. Bu W7'de.
Didier L

3
Selam harrymc. Onaltılı harfleri nasıl girebilirim? Örnek: "👉" = 👉 - FVurulduktan sonra alt menu komutu pencerelerde çalıştırılıyor. Önde gelen sıfır eklemeden ondalık basma (128073) dönüşümü ile uçmaz.
Matas Vaitkevicius

17

Mac OS X'te: System Preferences'ta International'ı açın ve bu seçeneği giriş menüsüne eklemek için Giriş Menüsü'nde "Unicode Hex Input" u seçin. Kulağa açık geliyor, ancak bu, Ukrayna ve Vietnam dili arasındaki uzun dil listesinde gizli. Seçildiğinde, Option tuşunu basılı tutun ve 4 basamaklı altıgen kodu yazın.

Ayrıca OS X'te: Hesap Makinesi, ASCII veya Unicode olarak görüntülenen ondalık, sekizli ve onaltılı kodların girilmesine izin veren Programlayıcı moduna (Cmd-3) ayarlanabilir. Bununla birlikte, Kopyala, karakter eşdeğer (ler) ini değil, bir kod verecektir. Kimse?

(Windows için, bkz . Microsoft Windows'da Unicode karakterler nasıl girilir ; diğer giriş yöntemleri için Wikipedia'ya bakın .)

Ve burada Süper Kullanıcı:

Ve uç noktalara gitmek için:


9

Ubuntu'da (ve bunların varyasyonları, LinuxMint gibi), Ctrl+ Shift+ ve uardından Unicode değeri ve Enter tuşlarına basarak Unicode değerlerini girebilirsiniz , örneğin:

Ctrl+ Shift+ u 263asonra Verimi girin:

Metin: ☺
Ekran Görüntüsü:alt metin

Daha kolay giriş veya Windows'ta olası giriş için bunu AutoHotkey ile birleştirebilirsiniz .


2
Ne yazık ki, yalnızca GTK + uygulamalarında çalışır.
Mekanik salyangoz

2
Ayrıca, kodu yazarken Ctrl-Shift tuşunu basılı tutabilirsiniz, bu daha sonra Enter tuşuna basmak zorunda kalmaz.
Mekanik salyangoz 0

1
Daha iyi bir çözüm buldum: Unicode unacritical işaretlerini birleştirerek herhangi bir karaktere aksan işaretleri ekleyebilirsiniz. Unicode 0301 - 0308, Pinyin için faydalıdır. örneğin: "a" + [ctrl] [shift] [u] + 0301 [dönüş] -> á. Pinyin listesi: ó -> 0301; ò -> 0300; ō -> 0304; ŏ -> 0306; ö -> 0308; bkz. en.wikipedia.org/wiki/Combining_character#Unicode_ranges
emf

6

Daha iyi bir çözüm bulamadığım için küçük bir AutoHotkey tabanlı Unicode Input aracı yazdım. Shift+ Ctrl+ İle unicode karakterler ekleyebilirsiniz U.

Unicode iletişim kutusu

Temel olarak, girişi bir unicode karakterine dönüştürür ve imleç pozisyonunda “yazır”.

6 basamaklı unicode karakterleri desteklemez. Ayrıca, tüm metnin odak kaybında seçili olduğu bir giriş alanınız varsa, tüm metnin üzerine yazılacaktır (eski bir Firefox sürümünün bu davranışı gösterdiğini hatırlıyorum).

Referans olarak, burada kendiniz derlemek istiyorsanız AutoHotkey kaynağı:

#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

Ayrıca, özel karakterleri nerede kullanmak istediğinize de bağlıdır. MS Office uygulamalarında, ASCII kodlarını belirli karakterler için tanımaya başvurmak zorunda değilsiniz - örneğin, bir diaresis (örneğin, naif gibi sözcüklerde bazı karakterlerin üzerinde gördüğünüz iki nokta), Word / Outlook / etc, Ctrl + ':' (örneğin, Ctrl + Shift +;) tuşlarına basıp 'i' işaretini tıklatabilir.

Http://word.mvps.org/FAQs/General/InsertSpecChars.htm adresinde bulunan kısayolların bir listesi var ... "Uluslararası Karakterler" e gidin.

Office dışındaki uygulamaların benzer kısayolları destekleyip desteklemediğini bilmiyorum.


2

Linux (Qt / KDE uygulamaları dahil)

JMD belirtildiği gibi, basılı tutabilirsiniz Ctrl- Shift, tipi u1f4a9ve (GNOME programları bile KDE altında Firefox Krom ve LibreOffice dahil) GTK + uygulamalarında U + 1F4A9 yazabilmek için bırakın. Bazı programlar da sırayla yazmaya desteklemek Ctrl- Shift- U, 1, f, 4, a, 9, Enter.

Ne yazık ki, bu Qt uygulamalarında (KDE programları, Mathematica ve VLC dahil) çalışmaz. BMP karakterleri için Unicode IBus giriş yöntemi vardır. Etkinleştirmek için IBus tercihlerini açın ve "Diğer - unicode (m17n)" giriş yöntemini ekleyin ( ibus-m17n ve ibus-qt4 paketlerinin kurulu olması gerekir). İmleç bir metin alanındayken, giriş yöntemini etkinleştirin (IBus araç çubuğunu veya klavye kısayolunu kullanarak). Aktif iken, giriş yöntemi karşılık gelen Unicode karakterini girmek için Ctrl- Shift- Uardından 4 onaltılık rakam yazmanıza izin verir . Bu olsa da, sadece BMP karakterleri için çalışıyor.

(Ubuntu altında test edilmiştir.)


KDE üzerinde benim için çalışmıyor ..
Jack,

IBus tercihlerini nerede bulabilirim?
anarcat

1

Belki de tam olarak sorduğun şey değil, ama aradığım şeydi. Windows 10'da, bir emoji tarayıcısı açmak için Win+ .veya Win+ tuşlarına basabilirsiniz ;:

görüntü tanımını buraya girin

Yukarıdaki resimde görebileceğiniz gibi, sadece yazarak da arama yapabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.