zshで文字のUnicodeコードポイントを取得するには?
たとえば、次のような場合があります。
s=abc
コードポイント(つまりs[2]
=のコードポイント)を取得するには?"b"
0x0062
ベストアンサー1
インデックスは ${s:start:length} で行われ、次に %x とともに printf を使用して 16 進数に変換されます。必要に応じて、printfを使用して追加のフォーマットを指定できます。
printf '%x\n' "'${s:1:1}'"
zshで文字のUnicodeコードポイントを取得するには?
たとえば、次のような場合があります。
s=abc
コードポイント(つまりs[2]
=のコードポイント)を取得するには?"b"
0x0062
インデックスは ${s:start:length} で行われ、次に %x とともに printf を使用して 16 進数に変換されます。必要に応じて、printfを使用して追加のフォーマットを指定できます。
printf '%x\n' "'${s:1:1}'"