naobe @ ウィキ

ソフトウェア共通

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可


グレゴリオ暦

現在の暦。閏年(2/29がある)は以下の手順で決める。上から順番に上書き。2100年は、4で割り切れる、100で割り切れる、400で割り切れないので平年。
  • 西暦年が4で割り切れる年は閏年とする。
  • 西暦年が100で割り切れる年は平年
  • 西暦年が400で割り切れる年は閏年

UUID(Universal Unique Identifier)

http://itpro.nikkeibp.co.jp/article/Keyword/20090206/324330/ 参照
世界的に一意なID。国、機器、システムに関らず一意なID。機器の名前や時刻情報などを基に「十分大きなサイズかつランダムな数値」として生成する。UUIDのサイズは16バイトで、256を16回掛けた数のバリエーションを作り出す。

文字コード(charset)


言語によって定義がまちまち。以下は参考。
MIME-NAME alias 説明
ISO-8859-1 latin1 アスキーコード。
Shift_JIS MS_Kanji シフトJIS
EUC-JP EUCコード
UTF-8 utf8
Windows-31J CP932 Shift_JISのMS、NEC、IBM拡張。


JISコード

参考URL http://homepage1.nifty.com/nomenclator/unicode/ucs_utf.htm
参考文献 日本語情報処理、プログラマのための文字コード技術入門

  • バイトは7bitで表す。ASCIIコードで書ける。
  • エンコード名 ISO-2022-JP。電子メールで使う。昔のメール・システムでは8bitコードは送信できない。
  • 漢字を収めた最初の国家標準電子文字セット。
  • JIS X 0208-1990が最も一般的で権威のある日本語文字セット
  • エスケープシーケンスを使って文字モードを切り替える。(文字モード:2バイト文字、1バイト文字など)
  • エスケープコードは、0x1B

項目 内容 備考
2バイト文字 1バイトの範囲 0x21 ~ 0x7E
2バイトの範囲 0x21 ~ 0x7E
2バイト文字エスケープシーケンス JIS X 0208-1990 0x 1B 26 40 1B 24 42
1バイト文字エスケープシーケンス JISローマ字 0x 1B 28 4A
ASCII 0x 1B 28 42
半角カタカナ 0x 1B 28 49
JIS8半角カタカナ 0xA1 ~ 0xDF
ASCII/JISローマ字 0x21 ~ 0x7E
JIS第一水準漢字 16区~47区 1区が0x21(バイト)
JIS第二水準漢字 48区~83区

Shift JIS

  • 1バイトコードは、ASCIIコードと同じ
  • 2バイトコードの文字位置がJISローマ字コードの半角カナの文字 位置とぶつからないようにJISコードをシフトした文字コード。
  • エスケープシーケンスは使わない。

項目 内容 備考
2バイト文字 1バイトの範囲 0x81 ~0x9F, 0xE0 ~0xEF
2バイトの範囲 0x40 ~ 0x7E, 0x80 ~ 0xFC
半角カナバイト範囲 0xA1 ~ 0xDF
ASCII/JISローマ字バイト範囲 0x21 ~ 0x7E


Unicode

  • 群(group:128個)、面(plane:256個)、区(row:256個)、点(cell:256個)で文字を決定する
  • 日本、中国、韓国の漢字を一部、統一したコード体系
  • 群:0、面:0がUCS-2,基本多言語面(BMP:Basic Multilingual Plane)

UTF-8

Unicodeをバイトの並びに変換したコード

【UnicodeからUTF-8への変換】
Unicode ビットパターン 第1バイト 第2バイト 第3バイト 第4バイト 備考
U+0000 .. U+007F 00000000-0xxxxxxx 0xxxxxxx ASCIコード
U+0080 .. U+07FF 00001xxx-xxyyyyyy 110xxxxx 10yyyyyy
U+0800 .. U+FFFF xxxxyyyy-yyzzzzzz 1110xxxx 10yyyyyy 10zzzzzz UCS-2のFF61~FF9F:半角カナ
U+10000..U+1FFFFF 00000000-000wwwxx-xxxxyyyy-yyzzzzzzz 11110www 10xxxxxx 10yyyyyy 10zzzzzz

※ U+11234: 群が0、1が面、12が区、34が点。 U+FFFF:群が0、面が0、区がFF、点がFF

  • ASCIIコードはUTF-16では冗長なバイトが追加されるが、UTF-8ではASCIIコードと全く同じになる。
  • 先頭バイトの頭のビットをみれば文字のバイト長がわかる
  • 漢字は、UTF-16では2バイトだが、UTF-8では3バイトになる

用語

項目 説明
リエントラント     あるユーザがプログラムを使用中であっても、他のユーザがこのプログラムを使用可能なこと。再入可能。スレッドを考えると排他を適切にとらないとリエントラントとは言えない。
ビッグエンディアン ワード単位のバイトデータをメモリアドレスの下位から上位の順番に配置すること。例 0x12345678という4バイトのデータを0x12を下位アドレスに、以下上位アドレスに順番に並べる。人間がみやすい配置となる。IBM,モトローラ系のCPUで適用される。
ウィキ募集バナー