First of all one should remember that Emacs internally uses it's own coding system which is NOT equivalent to any standard coding sets. It resembles Unicode very much but does NOT coincide with it.
To get unicode codepoints of characters one should use something like
(encode-char ?А 'ucs)
.
The command C-x = (what-cursor-position) shows information about the character at point. You can insert characters that your keyboard does not support, using C-q (quoted-insert) or C-x 8 <RET> (insert-char).
The command `C-u C-x =' will give information about the character at the position.
C-q followed by a sequence of octal digits inserts the character with the specified octal character code. You can use any number of octal digits; any non-digit terminates the sequence. If the terminating character is <RET>, that <RET> serves only to terminate the sequence. Any other non-digit terminates the sequence and then acts as normal input thus, e.g.:
C-q 2 2 1 e inserts ∞ (infinity math symbol (HTML: ∞; TeX: \infty)).The use of octal sequences is disabled in ordinary non-binary Overwrite mode, to give you a convenient way to insert a digit instead of overwriting with it. To use decimal or hexadecimal instead of octal, set the variable read-quoted-char-radix to 10 or 16. If the radix is 16, the letters a to f serve as part of a character code, just like digits. Case is ignored.
Alternatively, you can use the command C-x 8 <RET> (insert-char). This prompts for the Unicode name or code-point of a character, using the minibuffer. If you enter a name, the command provides completion (see Completion). If you enter a code-point, it should be as a hexadecimal number, or a number with a specified radix, e.g., #o23072 (octal). The command then inserts the corresponding character into the buffer. For example, both of the following insert the infinity sign (Unicode code-point U+221E):
C-x 8 <RET> infinity <RET>
C-x 8 <RET> 221e <RET>
A numeric argument to C-q or C-x 8 <RET> specifies how many copies of the character to insert.
В соответствии со стандартом ISO 14755 можно ввести символ по его коду: при зажатых клавишах Ctrl+Shift ввести шестнадцатеричный код. Также, например, начиная с некоторой версии GTK+ ввод кода нужно предварить нажатием клавиши „U”;. Вводимый шестнадцатеричный код может иметь до 32 бит в длину, позволяя вводить любые символы Юникода без использования суррогатных пар.