文字コード・符号化方式について調べてみた
マルチバイト文字とは
- 一文字を複数バイトで表す体系
- 一文字のバイト数が可変であるような体系
- ASCIIあるいはISO646をベースとしている
- バイト値 80~FF16進法(あるいはそのサブセット)で始まるバイト列によりそれ以外の文字集合を表現する。
ユニコードは 「文字コード」(ASCII文字コード、Shift-JISコードなど)の種類
マルチバイト文字は 「文字セット」(1バイト文字、ワイド文字セットなど)の分類
話を簡単にするためにWindowsの世界の話に限定して書くと:
マルチバイト:
アジア圏の文字を扱うために、漢字など西ヨーロッパに存在しない文字に複数バイトを割り当てる仕組み
複数のエリアの文字の共存はすごく難しい(たとえば台湾文字とハングルの同時表示など)
Shift-JISとかMBCSとか言われる方式です
多分↓のがマルチバイトよりも統一的に文字を1つの集合で表すことを指すんだと思う。
ユニコード:
複数のエリアの文字を混在処理するために、すべての国の文字を統一的に扱う仕組み
これを使うとあらゆる国の文字(たとえばチベット文字とロシア語)を混在表示できます
Windowsの内部はUnicodeをUTF-16という方式でエンコードした文字列を使っています
ちなみに、うんと昔のUnicode 1.0は1文字=16ビット(2バイト)の固定幅でしたが、マイナーな漢字などが入りきらなくなったので
2.0以降(あるいは国際規格の ISO 10646)では、31ビット幅になっています。
バイトコードとは
https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89
vagrantのマウントエラーの対処法
vagrantのマウントエラーの対処法
==> vagrant: Mounting shared folders... vagrant: /vagrant => /Users/ohira/projects/aucfan-settlement/opsfiles/vagrant Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest and can work properly. The command attempted was: