- 追加された行はこの色です。
- 削除された行はこの色です。
[[Rの備忘録]]
たとえば "あ" の UTF-8 での文字コードは
> charToRaw("あ")
[1] e3 81 82
なのですが,Unicode では
> as.u_char(utf8ToInt("あ" ))
[1] U+3042
です.この変換規則は,[[ここ:http://hp.vector.co.jp/authors/VA012733/doc/kanji-code.html]] に分かりやすく書かれています.一部引用します.
>>
UCS-2(Universal Character Set coded in 2 octets)は2バイトのUnicodeのデータです。ASCIIの”a”と言う文字は0041の2バイトで、「U+0041」と表記します。UTFとは「Unicode Transformation Format, 8-bit encoding form」の略でASCIIとのご完成を保つために作られたようです。ASCIIは1バイトで表し、漢字コードなどは3バイトで表します。
<<
>>
UCS-2からUTF-8の変換表
<<
UCS-2 ビット列 第1バイト 第2バイト 第3バイト
U+0000...U+007F 00000000-0xxxxxxx 0xxxxxxx なし なし
U+0080...U+07FF 00000xxx-xxyyyyyy 110xxxxx 10yyyyyy なし
U+0800...U+FFFF xxxxyyyy-yyzzzzzz 1110xxxx 10yyyyyy 10zzzzzz
>>
例として、上記の表から、”あ”と言う文字を変換します。Unicodeで”あ”はU+3042ですのでこれをビット列にすると、
<<
「0011 0000 0100 0010」
>>
となり、表を参考にしてxyzに分けると、
<<
「xxxx=0011、yyyyyy=000001、zzzzzz=000010」
>>
バイト単位に組み立てます。
<<
第1バイト=11100011 HEX表記でE3
第2バイト=10000001 HEX表記で81
第3バイト=10000010 HEX表記で82
>>
UTF−8で”あ”の文字コードはE38182です。
<<