CCSID
・CCSIDとは
・AS400でのCCSIDの働き
・AS400での日本語CCSID
・画面/プログラム/ファイルでのCCSID
■ CCSIDとは
簡単に言うと、IBMの文字セットの識別です。
コンピューターの文字は、1バイトもしくは2バイト(漢字)のビット構成で
表されますが、そのビット構成に対して、どういう記号文字を表示させるかを
決定させるのが、文字セットです。
たとえば、同じ16進’81’のビット構成でも、
・CCSID=5026の場合、カタカナの’ア’
・CCSID=5035の場合、英小文字の’a’
が表示されます。
詳しくは、こちらに記述があります。
ページの先頭へ戻る
■ AS400でのCCSIDの働き
AS400は日本のみならず世界各地で使用されています。
このため、プログラムやデータの交換を容易にするため、
各国の言語間のコード変換をCCSIDを使って行います。
通常、この変換は自動的に行われます。
たとえば、
CCSID=500のファイルから、CCSID=5035へデータの
コピーを行うと、内部のコード変換が自動的に行われ、ユーザーが
変換作業を行わなくても良い配慮がなされています。
つまり、CCSID=500で、『a』と表示されている文字は、
CCSID=5026でも『a』と表示されるように変換されます。
65535という特殊なCCSIDがあります。
このCCSIDは、文字セットというよりも、OS400の変換機能の指定の
といった方が適切かもしれません。
65535とは、『無変換』あるいは『変換しない』ことを意味します。
AS400の出荷時の、CCSIDのシステム値は、この65535です。
ページの先頭へ戻る
■ AS400での日本語CCSID
AS400で使用される日本語のCCSIDは、
・5026
・5035
の2つです。
下の表からも分かりますが、
この2つの文字セットの大きな違いは
カタカナと英小文字の配列が、全く逆になっています。
このため、5026のデータを5035で表示しようとしたり
また逆のケースを行おうとした場合、文字化けを起こします。
【CCSID=5026】
【CCSID=5035】
ページの先頭へ戻る
■ 画面/プログラム/ファイルでのCCSID
DBファイルとプログラム間のコード変換はされますが、
装置ファイル(画面ファイル)とプログラム間のコード変換はなされません。
画面上の表示 | P-COM内のビット構成 | | プログラム | | ファイル
|
---|
930(5026) | | 5026 | | 5026
|
ア | x'81' | → | x'81' | → | x'81'
|
930(5026) | | 5026 | | 5035
|
ア | x'81' | → | x'81' | → | x'59'
|
930(5026) | | 5026 | | 65535
|
ア | x'81' | → | x'81' | → | x'81'
|
939(5035) | | 5035 | | 5026
|
ア | x'59' | → | x'59' | → | x'81'
|
939(5035) | | 5035 | | 5035
|
ア | x'59' | → | x'59' | → | x'59'
|
939(5035) | | 5035 | | 65535
|
ア | x'59' | → | x'59' | → | x'59'
|
ページの先頭へ戻る