m通りの基本文字コードで表される入力文字列の文字種を集約ないしは削減してx通りただしx<mの新文字コードで表される新文字列に変換する第1ステップと、前記新文字列をy文字ずつに区切り、n文字目ただしn=1、2、...、yの新文字コードにxn-1を各々乗算した値を全て足し合わせて、y文字分でzビットただしxy<2zの圧縮文字列データを生成する第2ステップと、を有することを特徴とする文字コード圧縮方法。前記第1ステップは、前記入力文字列に含まれる英文字A~Z、a~zに対して大文字/小文字を区別することなく26文字分の新文字コードを割り当てるステップと、前記入力文字列に含まれる数字0~9に対して10文字分の新文字コードを割り当てるステップと、を含むことを特徴とする請求項1に記載の文字コード圧縮方法。前記新文字コードは、10進表記で0~39の値を取り得ることを特徴とする請求項2に記載の文字コード圧縮方法。前記新文字コードは、0がNUL文字であり、1~26が英文字であり、30~39が数字であることを特徴とする請求項3に記載の文字コード圧縮方法。前記新文字コードは、27~29が記号文字であることを特徴とする請求項4に記載の文字コード圧縮方法。請求項1~請求項5のいずれか一項に記載の文字コード圧縮方法によって生成された前記圧縮文字列データから前記基本文字コードで表される出力文字列を復元する文字コード復元方法であって、初期値として前記圧縮文字列データが格納されるテンポラリデータのxによる除算とその商による前記テンポラリデータの生成をy-1回繰り返し、各回の除算で各々得られた余りとy-1回目の除算で得られた商を前記新文字コードで表される一時文字列として取得する第1ステップと、前記一時文字列を前記出力文字列に変換する第2ステップと、を有することを特徴とする文字コード復元方法。前記第2ステップは、前記出力文字列が所定長に達したとき、或いは、前記一時文字列でNUL文字が確認されたときにフローを終了することを特徴とする請求項6に記載の文字コード復元方法。請求項1~請求項5のいずれか一項に記載された文字コード圧縮方法を用いて前記入力文字列から前記圧縮文字列データを生成する演算部と、前記演算部で実行される各種プログラムを格納する記憶部と、前記圧縮文字列データを外部メモリに書き込む書込部と、を有することを特徴とするデータ書込装置。演算部、記憶部、及び、書込部を備えたコンピュータに読み出されて実行されることにより、前記コンピュータを請求項8に記載のデータ書込装置として機能させることを特徴とするデータ書込プログラム。外部メモリから圧縮文字列データを読み出す読出部と、請求項6または請求項7に記載された文字コード復元方法を用いて前記圧縮文字列データから出力文字列を生成する演算部と、前記演算部で実行される各種プログラムを格納する記憶部と、を有することを特徴とするデータ読出装置。読出部、演算部、及び、記憶部を備えたコンピュータに読み出されて実行されることにより、前記コンピュータを請求項10に記載のデータ読出装置として機能させることを特徴とするデータ読出プログラム。ところで、コンピュータ上で文字情報英数字などを扱う際には、一般にASCII[AmericanStandardCodeforInformationInterchange]文字コードが用いられる。しかしながら、ASCII文字コードは、一文字あたり7ビットまたは8ビットの記憶容量を必要とする。そのため、チップ固有の製造管理情報として多くの文字情報を記憶しようとすると、不揮発性メモリの大容量化延いては半導体装置のコストアップが招かれるという問題があった。本発明は、本願の発明者により見出された上記の問題点に鑑み、限られた記憶容量に多くの文字情報を記憶させることのできる文字コード圧縮方法及び文字コード復元方法を提供することを目的とする。上記目的を達成するために、本発明に係る文字コード圧縮方法は、m通りの基本文字コードで表される入力文字列の文字種を集約ないしは削減してx通りただしx<mの新文字コードで表される新文字列に変換する第1ステップと、前記新文字列をy文字ずつに区切り、n文字目ただしn=1、2、...、yの新文字コードにxn-1を各々乗算した値を全て足し合わせて、y文字分でzビットただしxy<2zの圧縮文字列データを生成する第2ステップと、を有する構成第1の構成とされている。なお、上記第1の構成から成る文字コード圧縮方法において、前記第1ステップは、前記入力文字列に含まれる英文字A~Z、a~zに対して大文字/小文字を区別することなく26文字分の新文字コードを割り当てるステップと、前記入力文字列に含まれる数字0~9に対して10文字分の新文字コードを割り当てるステップとを含む構成第2の構成にするとよい。また、上記第2の構成から成る文字コード圧縮方法において、前記新文字コードは、10進表記で0~39の値を取り得る構成第3の構成にするとよい。また、上記第3の構成から成る文字コード圧縮方法において、前記新文字コードは、0がNUL文字であって、1~26が英文字であって、30~39が数字である構成第4の構成にするとよい。また、上記第4の構成から成る文字コード圧縮方法において、前記新文字コードは、27~29が記号文字である構成第5の構成にするとよい。また、本発明に係る文字コード復元方法は、上記した第1~第5いずれかの構成から成る文字コード圧縮方法によって生成された前記圧縮文字列データから前記基本文字コードで表される出力文字列を復元するものであって、初期値として前記圧縮文字列データが格納されるテンポラリデータのxによる除算とその商による前記テンポラリデータの生成をy-1回繰り返し、各回の除算で各々得られた余りとy-1回目の除算で得られた商を前記新文字コードで表される一時文字列として取得する第1ステップと、前記一時文字列を前記出力文字列に変換する第2ステップと、を有する構成第6の構成とされている。また、上記第6の構成から成る文字コード復元方法において、前記第2ステップは、前記出力文字列が所定長に達したとき、或いは、前記一時文字列でNUL文字が確認されたときにフローを終了する構成第7の構成にするとよい。また、本発明に係るデータ書込装置は、上記第1~第5いずれかの構成から成る文字コード圧縮方法を用いて前記入力文字列から前記圧縮文字列データを生成する演算部と、前記演算部で実行される各種プログラムを格納する記憶部と、前記圧縮文字列データを外部メモリに書き込む書込部と、を有する構成第8の構成とされている。また、本発明に係るデータ書込プログラムは、演算部、記憶部、及び、書込部を備えたコンピュータに読み出されて実行されることにより、前記コンピュータを上記第8の構成から成るデータ書込装置として機能させる構成第9の構成とされている。また、本発明に係るデータ読出装置は、外部メモリから圧縮文字列データを読み出す読出部と、上記第6または第7の構成から成る文字コード復元方法を用いて前記圧縮文字列データから出力文字列を生成する演算部と、前記演算部で実行される各種プログラムを格納する記憶部と、を有する構成第10の構成とされている。また、本発明に係るデータ読出プログラムは、読出部、演算部、及び、記憶部を備えたコンピュータに読み出されて実行されることにより、前記コンピュータを上記第10の構成から成るデータ読出装置として機能させる構成第11の構成とされている。本発明によれば、限られた記憶容量に多くの文字情報を記憶させることのできる文字コード圧縮方法及び文字コード復元方法を提供することが可能となる。<文字コード圧縮方法>図1は、文字コード圧縮方法のフローチャートである。本フローチャートで例示される文字コード圧縮方法は、例えば、所定のプログラミング言語C言語などを用いて記述されたコンピュータプログラムとして具現化することが可能である。フローが開始されると、ステップS101では、図2のASCII文字コードで表される入力文字列lotnameの取得が行われ、その後、フローがステップS102に進められる。ASCII文字コードは、7ビットまたは8ビットの基本文字コードであり、10進表記で0~127の値を取り得る。ASCII文字コードの内容としては、0~31及び127が制御文字コントロールコードに割り当てられており、32~126が印刷可能文字英文字、数字、記号文字に割り当てられている。ステップS102では、各種パラメータの初期化i=0、j=0、k=0が行われた後、フローがステップS103に進められる。ステップS103では、パラメータiが入力文字列lotnameの文字列長lenよりも小さいか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS104に進められ、ノー判定が下された場合にはフローがステップS111に進められる。なお、文字列長lenは、C言語のstrlen関数などを用いて容易に取得することが可能である。ステップS103でイエス判定が下された場合、ステップS104では、入力文字列のi文字目lotnameiが数字0~9であるか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS105に進められ、ノー判定が下された場合にはフローがステップS106に進められる。ステップS104でイエス判定が下された場合、ステップS105では、入力文字列のi文字目数字0~9に相当するASCIIコード48~57から18を差し引いた値lotnamei18が新文字コード30~39として算出され、この新文字コード30~39が新文字列のj文字目newlotnamejとしてレジスタに一時格納される。そして、パラメータjが1つインクリメントされた後、フローがステップS110に進められる。ステップS104でノー判定が下された場合、ステップS106では、入力文字列のi文字目lotnameiが英大文字A~Zであるか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS107に進められ、ノー判定が下された場合にはフローがステップS108に進められる。ステップS106でイエス判定が下された場合、ステップS107では、入力文字列のi文字目英大文字A~Zに相当するASCIIコード65~90から64を差し引いた値lotnamei64が新文字コード1~26として算出され、この新文字コード1~26が新文字列のj文字目newlotnamejとしてレジスタに一時格納される。そして、パラメータjが1つインクリメントされた後、フローがステップS110に進められる。ステップS106でノー判定が下された場合、ステップS108では、入力文字列のi文字目lotnameiが英小文字a~zであるか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS109に進められ、ノー判定が下された場合にはフローがステップS110に進められる。ステップS108でイエス判定が下された場合、ステップS109では、入力文字列のi文字目英小文字a~zに相当するASCIIコード97~122から96を差し引いた値lotnamei96が新文字コード1~26として算出されて、この新文字コード1~26が新文字列のj文字目newlotnamejとしてレジスタに一時格納される。そして、パラメータjが1つインクリメントされた後、フローがステップS110に進められる。ステップS105、ステップS107、及び、ステップS109での文字コード変換処理が完了した場合、或いは、ステップS108でノー判定が下された場合、ステップS110では、パラメータiが1つインクリメントされた後、フローがステップS103に戻される。そして、以後、ステップS103でイエス判定が下されるまで、言い換えれば、入力文字列lotnameから新文字列newlotnameへの変換が完了するまで、ステップS103~ステップS110のフローが繰り返される。従って、ステップS103~ステップS110のフローが繰り返される間に、入力文字列lotnameに含まれる数字0~9に対しては、ステップS105で10文字分の新文字コード30~39が割り当てられ、入力文字列lotnameに含まれる英文字A~Z、a~zに対しては、ステップS107及びステップS109で大文字/小文字を区別することなく26文字分の新文字コード1~26が割り当てられる。一方、入力文字列lotnameに含まれる記号文字については、ステップS108でのノー判定によって新文字列newlotnameから除外される。すなわち、図1の文字コード圧縮方法を大局的に見た場合、ステップS101~ステップS110は、128通りのASCIIコードで表される入力文字列lotnameの文字種を集約ないしは削減して40通りの新文字コードで表される新文字列newlotnameに変換する第1ステップに相当する。図3は、新文字コード表の一例である。本例の新文字コードは、40通りの値10進表記で0~39を取り得る。新文字コードの内容としては、0がNUL文字に割り当てられており、1~26が英文字大文字に割り当てられており、30~39が数字に割り当てられている。ただし、新文字コードにおける文字の割り当ては、これに限定されるものではない。また、先述のステップS101~ステップS110では、入力文字列lotnameから記号文字を全て除外する動作例を挙げて説明を行ったが、新文字コードの未使用値27~29を積極的に活用すれば、新文字コードに最大3種類の記号文字を割り当てることも可能である。例えば、入力文字列lotnameに含まれる記号文字のうち、-ASCIIコード45を新文字コード27に変換する場合には、ステップS103~ステップS110のループ中に、入力文字列lotnameiのi文字目が-であるか否かを判定するステップと、当該ステップでイエス判定が下されたときにASCIIコードから18を差し引いた値lotnamei18を新文字コードとして算出するステップと、を追加すればよい。その余の記号文字についても同様である。図1に戻り、文字コード圧縮方法の説明を続ける。ステップS103でノー判定が下された場合、ステップS111では、新文字列newlotnameのj文字目以降に0NUL文字に相当が入力され、その後、フローがステップS112に進められる。ステップS112では、パラメータkが最大データ長kmaxよりも小さいか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS113に進められ、ノー判定が下された場合にはフローがステップS115に進められる。ステップS112でイエス判定が下された場合、ステップS113では、圧縮文字列データotpLotDatの生成処理が行われた後、フローがステップS114に進められる。具体的に述べると、ステップS113では、新文字列の3k文字目newlotname3kと、新文字列の3k1文字目に40を乗算した値newlotname3k140と、新文字列の3k2文字目に1600を乗算した値newlotname3k21600とを全て足し合わせて、圧縮文字列データotpLotDatが算出される。この圧縮文字列データotpLotDatは、3文字分の新文字列newlotname3k3k13k2を各桁の値とする3桁の40進数を10進表記した値であると言える。ステップS114では、パラメータkが1つインクリメントされた後、フローがステップS112に戻される。そして、以後、ステップS112でイエス判定が下されるまで、言い換えれば、新文字列newlotnameから圧縮文字列データotpLotDatへの変換が完了するまで、ステップS112~ステップS114のフローが繰り返される。ステップS112でイエス判定が下された場合、ステップS115では、不揮発性メモリに対する圧縮文字列データotpLotDatの書込処理が行われた後、一連のフローが終了される。すなわち、図1の文字コード圧縮方法を大局的に見た場合、ステップS111~ステップS115は、新文字列newlotnameを3文字ずつに区切り、n文字目ただしn=1、2、3の新文字コードに40n-1を各々乗算した値を全て足し合わせて、3文字分で16ビットの圧縮文字列データotpLotDatを生成する第2ステップに相当する。次に、図4を参照しながら、文字コード圧縮処理について具体的な説明を行う。図4は文字コード圧縮処理の具体例を示す概念図である。ここでは、入力文字列lotnameとして、WAFER-abc1234が入力された場合を考える。なお、図1ではパラメータi、j、kの初期値を0とした例を挙げて説明を行ったが、図4では、説明の便宜上、パラメータi、j、kの初期値を1とした例を挙げて説明を行う。入力文字列の1文字目lotname1~5文字目lotname5は、いずれも、英大文字W、A、F、E、Rである。従って、各々のASCIIコード87、65、70、69、82から64を差し引いた新文字コード23、1、6、5、18が新文字列の1文字目newlotname1~5文字目newlotname5としてレジスタに一時格納されるステップS106及びステップS107。入力文字列の6文字目lotname6は、記号文字-である。従って、そのASCIIコード45が新文字コードに変換されることはなく、記号文字-は新文字列newlotnameから除外されるステップS108のノー判定。入力文字列の7文字目lotname7~9文字目lotname9は、いずれも、英小文字a、b、cである。従って、各々のASCIIコード97、98、99から96を差し引いた新文字コード1、2、3が新文字列の6文字目newlotname6~8文字目newlotname8としてレジスタに一時格納されるステップS108及びステップS109。入力文字列の10文字目lotname10は、記号文字である。従って、そのASCIIコード40が新文字コードに変換されることはなく、記号文字は新文字列newlotnameから除外されるステップS108のノー判定。入力文字列の11文字目lotname11~14文字目lotname14は、いずれも数字1、2、3、4である。従って、各々のASCIIコード49、50、51、52から18を差し引いた新文字コード31、32、33、34が新文字列の9文字目newlotname9~12文字目newlotname12としてレジスタに一時格納されるステップS104及びステップS105。入力文字列の15文字目lotname15は、記号文字である。従って、そのASCIIコード41が新文字コードに変換されることはなく、記号文字は新文字列newlotnameから除外されるステップS108のノー判定。入力文字列の16文字目lotname16はNUL文字であり、入力文字列lotnameの終端を示している。すなわち、入力文字列lotnameは15文字文字列長len=15である。従って、新文字列の13文字目newlotname13~16文字目newlotname16まで、0NUL文字に相当が入力される。入力文字列lotnameから新文字列newlotnameへの変換処理が完了すると、圧縮文字列データotpLotDatの生成処理が行われる。具体的に述べると、まず、新文字列newlotnameの1文字目23と、新文字列newlotnameの2文字目に40を乗算した値1×40と、新文字列newlotnameの3文字目に1600を乗算した値6×1600と、を全て足し合わせて、圧縮文字列データotpLotDatの第1桁値9663が算出される。上記と同様に、新文字列newlotnameの4文字目~6文字目5、18、1、7文字目~9文字目2、3、31、10文字目~12文字目32、33、34、及び、13文字目~15文字目0、0、0をそれぞれ一まとめとして、圧縮文字列データotpLotDatの第2桁値~第5桁値2325、49722、55752、0が算出される。なお、図4の例では、新文字列newlotnameの最大長が16文字に設定されているので、新文字列newlotnameを3文字ずつに区切っていくと、16文字目newlotname16が一つ余る形となる。このような場合、圧縮文字列データotpLotDatの第6桁目は8ビット1バイトで足りる。このように、圧縮文字列データotpLotDatの各桁値は、基本的に16ビット2バイトとされているが、全ての桁値を16ビット2バイトに統一しておく必要はない。3文字分の文字情報を記憶するために、ASCII文字コードによれば、7ビット×3文字=21ビット或いは、8ビット×3文字=24ビットの記憶領域が必要であるのに対して、本発明に係る文字コード圧縮方法によれば、16ビットの記憶領域で足りるので、限られた記憶容量に多くの文字情報を記憶させることが可能となる。なお、上記では、新文字コードの文字種類数xを40とし、圧縮文字列データotpLotDatの一桁に統合される文字数yを3とし、圧縮文字列データotpLotDatのビット数zを16とした場合を例に挙げて説明を行ったが、これらのパラメータx、y、zは、上記に限定されるものではなく、xy<2zという関係式を満たす範囲内で任意に設定することが可能である。例えば、新文字コードの文字種類数xを15文字例えば、数字0~9、英文字A~C、記号文字-、及び、NUL文字まで絞る場合であれば、16ビットの圧縮文字列データotpLotDatの一桁に統合される文字数yを4に拡張することが可能である。すなわち、本発明に係る文字コード圧縮方法は、より概念的に述べると、m通りの基本文字コード先の例ではASCII文字コードで表される入力文字列lotnameの文字種を集約ないしは削減してx通りただしx<mの新文字コードで表される新文字列newlotnameに変換する第1ステップと、新文字列newlotnameをy文字ずつに区切り、n文字目ただしn=1、2、...、yの新文字コードにxn-1を各々乗算した値を全て足し合わせて、y文字分でzビットただしxy<2zの圧縮文字列データotpLotDatを生成する第2ステップと、を有する構成であると言える。<文字コード復元方法>図5は、先の文字コード圧縮方法によって生成された圧縮文字列データotpLotDatからASCII文字コードで表される出力文字列lotnameを復元する文字コード復元方法のフローチャートである。なお、本フローチャートで例示される文字コード圧縮方法は、先述の文字コード圧縮方法と同じく、例えば、所定のプログラミング言語C言語などを用いて記述されたコンピュータプログラムとして具現化することが可能である。フローが開始されると、ステップS201において、圧縮文字列データotpLotDatの取得が行われた後、フローがステップS202に進められる。ステップS202では、各種パラメータの初期化i=0、k=0が行われた後、フローがステップS203に進められる。ステップS203では、パラメータkが最大データ長kmaxよりも小さいか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS204に進められ、ノー判定が下された場合にはフローがステップS209に進められる。ステップS204では、圧縮文字列データの第k桁値otpLotDatkがテンポラリデータdtとしてレジスタに格納された後、フローがステップS205に進められる。ステップS205では、テンポラリデータdtを40で除算した余りdt40が一時文字列の3k文字目tmplotname3kとしてレジスタに格納され、商dt40が新たなテンポラリデータdtとしてレジスタに格納された後、フローがステップS206に進められる。ステップS206では、テンポラリデータdtを再び40で除算した余りdt40が一時文字列の3k1文字目tmplotname3k1としてレジスタに格納され、商dt40が新たなテンポラリデータdtとしてレジスタに格納された後、フローがステップS207に進められる。ステップS207では、テンポラリデータdt自体が一時文字列の3k2文字目tmplotname3k2としてレジスタに格納された後、フローがステップS208に進められる。ステップS208では、パラメータkが1つインクリメントされた後、フローがステップS203に戻される。そして、以後、ステップS203でイエス判定が下されるまで、言い換えれば、圧縮文字列データotpLotDatから一時文字列tmplotnameへの変換が完了するまで、ステップS203~ステップS208のフローが繰り返される。すなわち、図5の文字コード復元方法を大局的に見た場合、ステップS201~ステップS208は、パラメータkがインクリメントされる度に、初期値として圧縮文字列データotpLotDatkが格納されるテンポラリデータdtの40による除算とその商dt40によるテンポラリデータdtの生成上書を2回繰り返し、各回の除算で各々得られた余りと2回目の除算で得られた商を一時文字列tmplotname3k3k13K2として取得する第1ステップに相当する。ステップS203でノー判定が下された場合、ステップS209では、パラメータiが最大文字列長imaxよりも小さいか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS210に進められ、ノー判定が下された場合には一連のフローが終了される。ステップS209でイエス判定が下された場合、ステップS210では、一時文字列のi文字目tmplotnameiに相当する新文字コードが1~26の範囲内に含まれているか否か、言い換えれば、一時文字列のi文字目tmplotnameiが英文字であるか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS211に進められ、ノー判定が下された場合にはフローがステップS212に進められる。ステップS210でイエス判定が下された場合、ステップS211では、一時文字列のi文字目に相当する新文字コード1~26に64を加えた値tmplotnamei64がASCII文字コード65~90;英大文字A~Zとして算出され、このASCII文字コードが出力文字列のi文字目lotnameiとしてレジスタに一時格納される。そして、パラメータiが1つインクリメントされた後、フローがステップS209に戻される。なお、出力文字列lotnameiに含まれる英文字を小文字とする場合には、新文字コード1~26に加える値を96に設定すればよい。ステップS210でノー判定が下された場合、ステップS212では、一時文字列のi文字目tmplotnameiに相当する新文字コードが30~39の範囲内に含まれているか否か、言い換えれば、一時文字列のi文字目tmplotnameiが数字であるか否かの判定が行われる。ここで、イエス判定が下された場合にはフローがステップS213に進められ、ノー判定が下された場合にはフローがステップS214に進められる。ステップS212でイエス判定が下された場合、ステップS213では、一時文字列のi文字目に相当する新文字コード30~39に18を加算した値tmplotnamei18がASCII文字コード48~57;数字0~9として算出され、このASCII文字コードが出力文字列のi文字目lotnameiとしてレジスタに一時格納される。そして、パラメータiが1つインクリメントされた後、フローがステップS209に戻される。ステップS212でノー判定が下された場合、ステップS214では、出力文字列のi文字目lotnameiに0NUL文字に相当が入力され、その後、一連のフローが終了される。このように、出力文字列lotnameの終端文字としてNUL文字を入力する構成であれば、以後の処理において出力文字列lotnameを取り扱う際に、その終端位置文字列長を容易に認識することが可能となる。すなわち、図5の文字コード復元方法を大局的に見た場合、ステップS209~ステップS214は、一時文字列tmplotnameを出力文字列lotnameに変換する第2ステップに相当する。なお、第2ステップは、出力文字列lotnameが所定長imaxに達したときステップS209のイエス判定時、或いは、一時文字列tmplotnameでNUL文字が確認されたときステップS212のノー判定時にフローを終了する。次に、図6を参照しながら、文字コード復元処理について具体的な説明を行う。図6は文字コード復元処理の具体例を示す概念図である。ここでは、出力文字列lotnameとしてWAFERABC1234が復元される場合を考える。なお、図5では、パラメータi、kの初期値を0とした例を挙げて説明を行ったが、図6では、説明の便宜上、パラメータi、kの初期値を1とした例を挙げて説明を行う。圧縮文字列データotpLotDatから一時文字列tmplotnameへの変換処理では、まず、圧縮文字列データの第1桁値9663を40で除算した余り23が一時文字列の1文字目tmplotname1として取得されて、商241がテンポラリデータとして格納される。さらに、テンポラリデータ241を40で除算した余り1が一時文字列の2文字目tmplotname2として取得されて、商6が一時文字列の3文字目tmplotname3として取得されるステップS203~ステップS208の一巡目。次に、圧縮文字列データの第2桁値2325を40で除算した余り5が一時文字列の4文字目tmplotname4として取得されて、商58がテンポラリデータとして格納される。さらに、テンポラリデータ58を40で除算した余り18が一時文字列の5文字目tmplotname5として取得されて、商1が一時文字列の6文字目tmplotname6として取得されるステップS203~ステップS208の二巡目。次に、圧縮文字列データの第3桁値49722を40で除算した余り2が一時文字列の7文字目tmplotname7として取得されて、商1243がテンポラリデータとして格納される。さらに、テンポラリデータ1243を40で除算した余り3が一時文字列の8文字目tmplotname8として取得されて、商31が一時文字列の9文字目tmplotname9として取得されるステップS203~ステップS208の三巡目。次に、圧縮文字列データの第4桁値55752を40で除算した余り32が一時文字列の10文字目tmplotname10として取得されて、商1393がテンポラリデータとして格納される。さらに、テンポラリデータ1393を40で除算した余り33が一時文字列の11文字目tmplotname11として取得されて、商34が一時文字列の12文字目tmplotname9として取得されるステップS203~ステップS208の四巡目。次に、圧縮文字列データの第5桁値0を40で除算した余り0が一時文字列の13文字目tmplotname13として取得されて、商0がテンポラリデータとして格納される。さらに、テンポラリデータ0を40で除算した余り0が一時文字列の14文字目tmplotname14として取得されて、商0が一時文字列の15文字目tmplotname15として取得されるステップS203~ステップS208の五巡目。最後に、圧縮文字列データの第6桁値0がそのまま一時文字列の16文字目tmplotname16として取得される図5では明示せず。圧縮文字列データotpLotDatから一時文字列tmplotnameへの変換処理が完了すると、続いて、一時文字列tmplotnameから出力文字列lotnameへの変換処理が行われる。一時文字列の1文字目tmplotname1~8文字目lotname8に相当する新文字コードは、いずれも1~26の範囲内英文字に相当に含まれている。従って、各々の新文字コード23、1、6、5、18、1、2、3に64を加算したASCII文字コード87、65、70、69、82、65、66、67が出力文字列の1文字目lotname1~8文字目lotname8としてレジスタに一時格納されるステップS210及びステップS211。一方、一時文字列の9文字目tmplotname9~12文字目lotname12に相当する新文字コードは、いずれも30~39の範囲内数字に相当に含まれている。従って、各々の新文字コード31、32、33、34に18を加算したASCII文字コード49、50、51、52が出力文字列の9文字目lotname9~12文字目lotname12としてレジスタに一時格納されるステップS212及びステップS213。また、一時文字列の13文字目tmplotname13がNUL文字であることから、出力文字列の13文字目lotname13には、出力文字列lotnameの終端文字として0NUL文字が入力されて、一連のフローが終了されるステップS214。このように、本発明に係る文字コード復元方法によれば、先述の文字コード圧縮方法によって生成された圧縮文字列データotpLotDatから出力文字列lotnameを復元することが可能となる。なお、新文字コードの文字種類数x、圧縮文字列データotpLotDatの一桁に統合される文字数y、及び、圧縮文字列データotpLotDatのビット数zについては、先にも述べた通り、xy<2zという関係式を満たす範囲内で任意に設定することができる。すなわち、本発明に係る文字コード復元方法は、より概念的に述べると、初期値として圧縮文字列データotpLotDatが格納されるテンポラリデータdtのxによる除算とその商dtxによるテンポラリデータdtの生成上書をy-1回繰り返し、各回の除算で各々得られた余りdtxとy-1回目の除算で得られた商dtxを新文字コードで表される一時文字列tmplotnameとして取得する第1ステップと、一時文字列tmplotnameを出力文字列lotnameに変換する第2ステップを有する構成であると言える。<アプリケーション>図7A及び図7Bは、それぞれ、先述の文字コード圧縮方法及び文字コード復元方法が適用されるアプリケーションの一例を示すブロック図である。図7A及び図7Bに示された半導体装置の量産設備には、コンピュータ10と通信プロトコル変換装置20が含まれており、半導体装置30の量産工程において、半導体装置30内にパッケージング済みのチップ図7Aを参照や、ウェハ40上に形成されたチップ図7Bを対象として、各チップ毎の不揮発性メモリに製造管理情報ロット番号、ウェハ番号、ウェハ上における座標情報などの書込/読出が行われる。コンピュータ10は、書込/読出部11と、演算部12と、ヒューマンインタフェイス部13と、記憶部14と、を有している。コンピュータ10は、記憶部14に格納された文字コード圧縮プログラムや文字コード復元プログラムを適宜読み出して実行することにより、製造管理情報の書込/読出動作を統括的に制御するデータ書込/読出装置として機能する。なお、コンピュータ10としては、パーソナルコンピュータやマイコン、或いは製品テスタなどがこれに相当する。書込/読出部11は、通信プロトコル変換装置20を介して、各チップ毎の不揮発性メモリに製造管理情報圧縮文字列データの書込/読出しを行う。なお、書込/読出部11と半導体装置30ないしはウェハ40との間で直接的に通信を行うことができる場合には通信プロトコル変換装置20を省略することが可能である。演算部12は、先述の文字コード圧縮方法や文字コード復元方法を用いて、製造管理情報の圧縮/復元すなわち、入力文字列から圧縮文字列データへの変換処理、及び、圧縮文字列データから出力文字列への変換処理を行う。なお、演算部12としては、CPU[CentralProcessingUnit]などを好適に用いることができる。ヒューマンインタフェイス部13は、製造管理情報の書込時に入力文字列の入力を受け付けたり、製造管理情報の読出時に出力文字列を出力したりする。なお、ヒューマンインタフェイス部13としては、キーボード、マウス、タッチパネル、ディスプレイ、スピーカなどを用いることができる。記憶部14は、演算部12で実行される各種プログラム文字コード圧縮プログラムや文字コード復元プログラムを含むを不揮発的に格納するほか、各種プログラムの作業領域としても用いられる。なお、記憶部14としては、ハードディスクドライブや半導体メモリデバイスなどを用いることができる。このように、半導体装置の量産工程において、チップ毎の不揮発性メモリに格納される製造管理情報の文字コードを圧縮/復元する構成であれば、限られた記憶容量に多くの文字情報を記憶させることが可能となる。なお、図7A及び図7Bでは、ヒューマンインタフェイス部を有するアプリケーションを例に挙げて説明を行ったが、本発明の構成はこれに限定されるものではなく、ヒューマンインタフェイス部が存在しないアプリケーションも想定される。例えば、データ書込時にロットデータを人間が入力する場合には、上記のヒューマンインタフェイス部が必要となるが、ロットデータは、ウェハ上やICの表印、或いは、梱包のラベルやバーコード等でも記載されており、それらを自動的に読み取る装置があれば、上記のヒューマンインタフェイス部は不要となる。また、データ読出時についても、次の工程などで単にロットデータを読み出して品質管理のために単にハードディスクドライブなどの記憶領域に記録しておけば足りる場合には、ヒューマンインタフェイス部が不要となる。<その他の変形例>なお、上記では、半導体装置の量産工程において、チップ毎の不揮発性メモリに格納される製造管理情報の文字コードを圧縮/復元する構成を例に挙げて説明を行ったが、本発明の適用対象はこれに限定されるものではなく、その他の用途に供される文字コードの圧縮/復元を行う際にも広く本発明を適用することが可能である。また、本発明に係る文字コード圧縮方法及び文字コード復元方法を応用すれば、入力文字列の暗号化/復号化を行うことも可能である。その意味において、本明細書中で用いられている圧縮/復元という文言は、これを狭義的に解釈することなく、暗号化/復号化も含む広義的な概念として解釈すべきものである。本発明の特徴としては、圧縮/復元を共に2ステップで処理する構成となっており、実施形態では1ステップ毎に全ての文字列を処理する例を示したが、圧縮後の各文字単位kごとに2ステップの処理を実施する構成も考えられる。本発明は、固定長と可変長の両方の文字列を処理することができ、固定長の文字列ではNUL文字の処理を省略することも可能である。このように、本明細書中に開示されている種々の技術的特徴は、上記実施形態のほか、その技術的創作の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明に限定されるものではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。