文字コード・符号化方式について調べてみた

マルチバイト文字とは

  • 一文字を複数バイトで表す体系
  • 一文字のバイト数が可変であるような体系
  • ASCIIあるいはISO646をベースとしている
  • バイト値 80~FF16進法(あるいはそのサブセット)で始まるバイト列によりそれ以外の文字集合を表現する。

 

マルチバイトな文字コードの種類

 

 

qiita.com

 

 

detail.chiebukuro.yahoo.co.jp


ユニコードは 「文字コード」(ASCII文字コード、Shift-JISコードなど)の種類
マルチバイト文字は 「文字セット」(1バイト文字、ワイド文字セットなど)の分類

 

話を簡単にするためにWindowsの世界の話に限定して書くと:
マルチバイト:
アジア圏の文字を扱うために、漢字など西ヨーロッパに存在しない文字に複数バイトを割り当てる仕組み
複数のエリアの文字の共存はすごく難しい(たとえば台湾文字とハングルの同時表示など)
Shift-JISとかMBCSとか言われる方式です

 

多分↓のがマルチバイトよりも統一的に文字を1つの集合で表すことを指すんだと思う。
ユニコード
複数のエリアの文字を混在処理するために、すべての国の文字を統一的に扱う仕組み
これを使うとあらゆる国の文字(たとえばチベット文字とロシア語)を混在表示できます
Windowsの内部はUnicodeUTF-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:
 
$ sudo yum update
$ sudo yum install kernel-devel gcc
$ echo export KERN_DIR=/usr/src/kernels/`uname -r` >> ~/.bashrc
$ sudo shutdown -r now