Unicodeコードポイントのリストがありますが、これらの16進値をその文字が表す実際の文字に変換する「簡単」な方法がわかりません...
私は聞いた扱いにくいはいecho -e '\u0965'
、しかし私は強く打つ4.1。
bashのzshメソッドと同じくらい簡単なことはありますか?
ベストアンサー1
iconvでGNU coreutilsでbashのechoまたは/bin/echoを使用できます。
echo -ne '\x09\x65' | iconv -f utf-16be
デフォルトでは、 iconv はロケールエンコーディングに変換されます。おそらく、Perlは特定のシェルやechoコマンドに頼るよりも移植性が良いでしょう。私が知っているほとんどのUNIXシステムはPerlを提供し、Windowsポートもいくつかあります。
perl -C -e 'print chr 0x0965'
ほとんどの場合、これを行う必要がある場合は、組み込みのサポート機能を備えたVim / GVimなどのエディタを使用してください。挿入モードでCtrl-Vを押し、uを押してから4つの16進文字を入力します。 U + FFFF以外の文字が必要な場合は、大文字Uを使用して8つの16進文字を入力してください。 Vimは簡単に作成できるカスタムキーマップもサポートしています。一連の文字を別の記号に変換します。たとえば、私はTMを™に、(C)を©に、(R)を®に変換するwwwというキーマップを開発しました。必要な場合に備えて、Klingonのキーマップも持っています。 Emacsにも似たものがあると確信しています。 GVimおよびGNOME端末を含むGTK +アプリケーションを使用している場合は、Control-Shift-uの後に4つの16進文字を入力してUnicode文字を作成できます。 KDE/Qtにも同様のものがあると確信しています。
修正する:Bash 4.2からは、今は組み込み機能のようです。
echo $'\u0965'
修正する:また、最近ではPerlよりもPythonの例を好むかもしれません。これはPython 2と3の両方で動作します。
python -c 'print(u"\u0965")'