JPH08272590A - 文字データ変換方法および装置 - Google Patents

文字データ変換方法および装置

Info

Publication number
JPH08272590A
JPH08272590A JP7167995A JP7167995A JPH08272590A JP H08272590 A JPH08272590 A JP H08272590A JP 7167995 A JP7167995 A JP 7167995A JP 7167995 A JP7167995 A JP 7167995A JP H08272590 A JPH08272590 A JP H08272590A
Authority
JP
Japan
Prior art keywords
character
converted
byte
code
control code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP7167995A
Other languages
English (en)
Inventor
Akihiro Ueno
明広 上野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP7167995A priority Critical patent/JPH08272590A/ja
Publication of JPH08272590A publication Critical patent/JPH08272590A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 記憶領域の有効利用が図れる文字コード変換
方法および装置を提供する。 【構成】 文字制御コード数を数えるステップ3と、変
換後の文字数が確保エリアより大きいかの判定ステップ
4と、変換する文字数の制限ステップ5と、変換終了か
の判定ステップ6と、変換文字が2バイト文字かの判定
ステップ7と、直前の変換文字が1バイト文字かの判定
ステップ8と、文字制御コードの付加ステップ9と、2
バイト文字の変換ステップ10と、直前の変換文字が2
バイト文字かの判定ステップ11と、文字制御コードの
付加ステップ12と、1バイト文字の変換ステップ13
と、最終変換文字が2バイト文字かの判定ステップ14
と、文字制御コードの付加ステップ15とからなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は文字コード変換方法およ
び装置に関し、特に、異なる文字コードをもつコンピュ
ータとコンピュータとの間のデータ転送をする場合に好
適な文字データ変換方法および装置に関する。
【0002】
【従来の技術】従来より、例えばJISコードなどでの
コンピュータ上での文字データは、2バイト文字(漢字
コード)の文字列の始まりと終わりに1バイト文字(8
ビットコード)との区別のために文字制御コード(シフ
トコード、シフトイン(SI)とシフトアウト(SO))が
付いている。従って、1バイト文字と2バイト文字があ
る文字データでは、2バイト文字の文字列がある度に文
字列の始めと終わりに文字制御コードが付加されてい
る。これに対し、文字制御コードが多用されるとデータ
量が増すという欠点があるため、文字制御コードを使わ
ない文字コード(例えば、シフトJIS漢字コード)も
ある。従って、文字制御コードを有しない文字コードか
ら文字制御コードを有する文字コードに変換する場合
は、変換した文字を入れる記憶領域(エリア)の大きさ
は、文字制御コードの分だけ変換前の文字のエリアより
大きなエリアを確保する必要があった。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来の文字コード変換方法では、変換された文字数が
確保されたエリアより長いときは変換結果は保証され
ず、このままプログラムの実行を行うと暴走するなどの
影響がある可能性があるので、必要以上のエリアを確保
しなければならない。このため、通常は変換した文字列
を一時的なエリア(充分に大きいエリアを確保する)に
退避させ、それから変換した文字を入れる正式なエリア
に移していた。このため、記憶領域の大変な無駄が生じ
ていた。
【0004】本発明は、上記従来例の欠点を解消するた
めになされたのであり、文字コードを変換した文字列を
一時的なエリアに退避させた後、変換した文字を入れる
正式なエリアに移す必要がなく、直接変換した文字列を
確保したエリアに入れることができるので、一時的なエ
リアを確保する必要がなく記憶領域の有効利用が図れる
文字コード変換方法および装置を提供することを目的と
する。
【0005】
【課題を解決するための手段】本発明の文字コード変換
方法は、文字制御コードを有しない文字コードの文字列
を文字制御コードを有する文字コードの文字列に変換す
るものであって、次のステップを含むものである。
【0006】(a)変換後の文字列に入る文字制御コー
ドの数を数えるステップ (b)文字制御コードを含めた変換する文字の数を変換
後の文字列を入れるエリアとして確保したものまでに制
限するステップ (c)変換する文字が1バイトの文字か2バイトの文字
かを判定するステップ (d)cのステップで判定した文字が1バイトの文字で
ある場合、直前に変換した文字が2バイトの文字であっ
た時には文字制御コードを変換後の文字列を入れるエリ
アに入れるステップ (e)cのステップで判定した文字が2バイトの文字で
ある場合、直前に変換した文字が1バイトの文字であっ
た時には文字制御コードを変換後のエリアに入れるステ
ップ (f)文字のコードを変換して変換後のエリアに入れる
ステップ そして、(g)最後に変換した文字が2バイトの文字で
ある時には文字制御コードを変換後のエリアに入れるス
テップ、を付加してもよい。
【0007】また、本発明の文字コード変換装置は、文
字制御コードを有しない文字コードの文字列を文字制御
コードを有する文字コードの文字列に変換するものであ
って、以下の構成を備えたものである。
【0008】(a)変換後の文字列を入れる記憶手段 (b)aの記憶手段に入る文字制御コードの数を数える
手段 (c)文字制御コードを含めた変換する文字の数をaの
記憶手段に入る長さまでに制限する制限手段 (d)変換する文字が1バイトの文字か2バイトの文字
かを判定する判定手段 (e)cの判定手段で判定した文字が1バイトの文字で
ある場合、直前に変換した文字が2バイトの文字であっ
た時には文字制御コードをaの記憶手段に入れる第1の
文字制御コード付加手段 (f)cの判定手段で判定した文字が2バイトの文字で
ある場合、直前に変換した文字が1バイトの文字であっ
た時には文字制御コードをaの記憶手段に入れる第2の
文字制御コード付加手段 (g)文字のコードを変換してaの記憶手段に入れる変
換手段 そして、(h)最後に変換した文字が2バイトの文字で
ある時には文字制御コードをaの記憶手段に入れる第3
の文字制御コード付加手段を付加してもよい
【0009】
【作用】本発明は、上記のような方法または装置とした
ことで、変換後の文字列を入れるエリアとして確保した
ものの長さまで、文字制御コードを有しない文字コード
が文字列を文字制御コードを有する文字コードの文字列
に変換される。
【0010】
【実施例】以下、本発明の一実施例について図面を参照
して詳細に説明する。
【0011】図2は、本発明の一実施例の文字コード変
換方法が適用される情報処理システムの構成を示すブロ
ック図である。この情報処理システムは、図1のフロー
チャートに示す処理の実行および主記憶装置2の制御を
行う中央処理装置1と、文字データを記憶する主記憶装
置2とから、その主要部が構成されている。
【0012】図1は、本発明の一実施例の文字コード変
換方法の処理を示すフローチャートである。
【0013】この図を参照すると、本実施例の文字コー
ド変換方法における処理は、文字制御コード数を数える
ステップ3と、変換後の文字数が確保エリアより大きい
かの判定ステップ4と、変換する文字数の制限ステップ
5と、変換終了かの判定ステップ6と、変換文字が2バ
イト文字かの判定ステップ7と、直前の変換文字が1バ
イト文字かの判定ステップ8と、文字制御コードの付加
ステップ9と、2バイト文字の変換ステップ10と、直
前の変換文字が2バイト文字かの判定ステップ11と、
文字制御コードの付加ステップ12と、1バイト文字の
変換ステップ13と、最終変換文字が2バイト文字かの
判定ステップ14と、文字制御コードの付加ステップ1
5とからなる。
【0014】次に、このように構成された本実施例の文
字コード変換の方式について、図3(a)〜(h)を参
照しながら説明する。
【0015】ここで、本実施例では、シフトJIS漢字
コード(第1の文字コード)で12バイトの文字データ
“12亜威AB卯得”をJIS漢字コード(第2の文字コー
ド)の文字データに変換する。また、変換後の文字列を
入れるために確保されたエリアは12バイトである。
【0016】まず、主記憶装置2内の変換前の文字列
(以下、文字列のデータは主記憶装置2内にあるものと
する)から変換後の文字列に文字制御コードがいくつ入
るかを中央処理装置1が数える(ステップ3)。次に、
変換後の文字列を入れるエリアの大きさが、変換する文
字数とステップ3で数えた文字制御コードの数を足した
大きさより大きいかを中央処理装置1(以下、数える処
理や判定などの処理は中央処理装置1が行うものとす
る)が判定し(ステップ4)、この判定がイエスのとき
は、変換する文字列の長さを変換後のエリアに入る大き
さまでに制限する(ステップ5)。図3では2バイト文
字列が2箇所あるため文字制御コードは4バイト必要で
あり、変換後のエリアが変換前のエリアと同じ大きさな
ので、‘B ’までの変換となる。
【0017】変換する文字数(または、ステップ5で計
算した長さ)だけループするが、ループが終わりかどう
かを判定し(ステップ6)、終わりでないときは、変換
する文字が2バイト文字かどうかを判定する(ステップ
7)。図3を見ると最初の変換文字は1バイト文字の
‘1 ’である。直前に変換された文字か2バイト文字か
を判定し(ステップ11)、最初の文字(判定はノー)
のため、文字制御コードを変換後のエリアに入れない。
‘1 ’を第1の文字コードから第2の文字コードに変換
して変換後のエリアに入れる(ステップ13)(図3
(a)参照)。
【0018】次に、ループの最初に戻り次に変換する文
字があるかを判定する(ステップ6)。図3を見ると、
次に処理する文字は1バイト文字の‘2 ’であるのでス
テップ7ではノーへと進む。直前に変換された文字が1
バイト文字の‘1 ’のため(ステップ11)、文字制御
コードを変換後のエリアに入れずに、‘2 ’を第1の文
字コードから第2の文字コードに変換して変換後のエリ
アに入れる(ステップ13)(図3(b)参照)。
【0019】次に、ループの最初に戻り次に変換する文
字があるかを判定する(ステップ6)。図3を見ると、
次に処理する文字は2バイト文字の‘亜’であるのでス
テップ7ではイエスへ進む。直前に変換された文字が1
バイト文字の‘2 ’のため(ステップ8)、文字制御コ
ード(SI)を変換後のエリアに入れ(ステップ9)(図
3(c)参照)、‘亜’を第1の漢字コードから第2の
漢字コードに変換して変換後のエリアに入れる(ステッ
プ10、(図3(d)参照)。
【0020】次に、ループの最初に戻り次に変換する文
字があるかを判定する(ステップ6)。図3を見ると、
次に処理する文字は2バイト文字の‘威’であるのでス
テップ7ではイエスへ進む。直前に変換された文字が2
バイト文字の‘亜’のため(ステップ8)、文字制御コ
ードを変換後のエリアに入れず、‘威’を第1の漢字コ
ードから第2の漢字コードに変換し変換後のエリアに入
れる(ステップ10)(図3(e)参照)。
【0021】次に、ループの最初に戻り次に変換する文
字があるかを判定する(ステップ6)。図3を見ると、
次に処理する文字は1バイト文字の‘A ’であるのでス
テップ7ではノーへと進む。直前に変換された文字が2
バイト文字の‘威’のため(ステップ11)文字制御コ
ード(SO)を変換後のエリアに入れ(ステップ12、
(図3(f)参照)、‘A ’を第1の文字コードから第
2の文字コードに変換し変換後のエリアに入れる(ステ
ップ13)(図3(g)参照)。
【0022】次に、ループの最初に戻り次に変換する文
字があるかを判定する(ステップ6)。図3を見ると、
次に処理する文字は1バイト文字の‘B ’であるのでス
テップ7ではノーへと進む。直前に変換された文字が1
バイト文字の‘B ’のため(ステップ11)文字制御コ
ードを変換後のエリアに入れずに、‘B ’を第1の文字
コードから第2の文字コードに変換し変換後のエリアに
入れる(ステップ13)(図3(h)参照)。
【0023】次に、ループの最初に戻り次に変換する文
字があるかを判定する(ステップ6)。図3を見ると、
次に処理する文字はあるが、ステップ5で計算した長さ
に達したのでループから抜ける。
【0024】次に、最後に変換した文字が1バイト文字
の‘B ’であるため(ステップ14)、文字制御コード
を変換後のエリアに入れずにすべての処理を終了する。
【0025】このような処理を行ったことで、文字コー
ドを変換した文字列を一時的なエリアに退避させた後、
変換した文字を入れる正式なエリアに移す必要がなく、
直接変換した文字列を確保したエリアに入れることがで
きるので、一時的なエリアを確保する必要がなく記憶領
域の有効利用が図れる。また、さらにプログラムを見た
時にすっきり見えるという効果がある。
【0026】
【発明の効果】以上説明したように、本発明によれば、
文字コードを変換した文字列を一時的なエリアに退避さ
せた後、変換した文字を入れる正式なエリアに移す必要
がなく、直接変換した文字列を確保したエリアに入れる
ことができるので、一時的なエリアを確保する必要がな
く記憶領域の有効利用が図れる。また、さらにプログラ
ムを見た時にすっきり見えるという効果がある。
【図面の簡単な説明】
【図1】 実施例のフローチャート
【図2】 実施例のブロック図
【図3】 実施例の文字コード変換の説明図
【符号の説明】
1 中央処理装置 2 主記憶装置

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 文字制御コードを有しない文字コードの
    文字列を文字制御コードを有する文字コードの文字列に
    変換する文字コード変換方法であって、次のステップを
    含むもの。 (a)変換後の文字列に入る文字制御コードの数を数え
    るステップ (b)文字制御コードを含めた変換する文字の数を変換
    後の文字列を入れるエリアとして確保したものまでに制
    限するステップ (c)変換する文字が1バイトの文字か2バイトの文字
    かを判定するステップ (d)cのステップで判定した文字が1バイトの文字で
    ある場合、直前に変換した文字が2バイトの文字であっ
    た時には文字制御コードを変換後の文字列を入れるエリ
    アに入れるステップ (e)cのステップで判定した文字が2バイトの文字で
    ある場合、直前に変換した文字が1バイトの文字であっ
    た時には文字制御コードを変換後のエリアに入れるステ
    ップ (f)文字のコードを変換して変換後のエリアに入れる
    ステップ
  2. 【請求項2】 最後に変換した文字が2バイトの文字で
    ある時には文字制御コードを変換後のエリアに入れるス
    テップを付加した請求項1に記載の文字制御コード変換
    方法
  3. 【請求項3】 文字制御コードを有しない文字コードの
    文字列を文字制御コードを有する文字コードの文字列に
    変換する文字コード変換装置であって、以下の構成を備
    えたもの。 (a)変換後の文字列を入れる記憶手段 (b)aの記憶手段に入る文字制御コードの数を数える
    手段 (c)文字制御コードを含めた変換する文字の数をaの
    記憶手段に入る長さまでに制限する制限手段 (d)変換する文字が1バイトの文字か2バイトの文字
    かを判定する判定手段 (e)cの判定手段で判定した文字が1バイトの文字で
    ある場合、直前に変換した文字が2バイトの文字であっ
    た時には文字制御コードをaの記憶手段に入れる第1の
    文字制御コード付加手段 (f)cの判定手段で判定した文字が2バイトの文字で
    ある場合、直前に変換した文字が1バイトの文字であっ
    た時には文字制御コードをaの記憶手段に入れる第2の
    文字制御コード付加手段 (g)文字のコードを変換してaの記憶手段に入れる変
    換手段
  4. 【請求項4】 最後に変換した文字が2バイトの文字で
    ある時には文字制御コードをaの記憶手段に入れる第3
    の文字制御コード付加手段を付加した請求項3に記載の
    文字制御コード変換装置
JP7167995A 1995-03-29 1995-03-29 文字データ変換方法および装置 Withdrawn JPH08272590A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7167995A JPH08272590A (ja) 1995-03-29 1995-03-29 文字データ変換方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7167995A JPH08272590A (ja) 1995-03-29 1995-03-29 文字データ変換方法および装置

Publications (1)

Publication Number Publication Date
JPH08272590A true JPH08272590A (ja) 1996-10-18

Family

ID=13467506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7167995A Withdrawn JPH08272590A (ja) 1995-03-29 1995-03-29 文字データ変換方法および装置

Country Status (1)

Country Link
JP (1) JPH08272590A (ja)

Similar Documents

Publication Publication Date Title
US7664783B2 (en) File management program, data structure, and file management device
US7367013B2 (en) Method for integrating Linux kernel and application software packages and generating installation file list based on CML2 computer language
US5570306A (en) Method and apparatus for recognizing a bit pattern in a string of bits, altering the string of bits, and removing the alteration from the string of bits
WO2005103937A1 (en) Systems and methods for fragment-based serialization
US5307494A (en) File name length augmentation method
US7895423B2 (en) Method for extracting fields from packets having fields spread over more than one register
US7162712B2 (en) Method and apparatus for creating string objects in a programming language
KR100764260B1 (ko) 프로세싱 시스템에서의 실행 인스트럭션 형성 방법
US6112208A (en) Data compressing method and apparatus to generate bit maps in accordance with extracted data symbols
JP3496965B2 (ja) 文字コード変換装置
JP2003525482A (ja) Icカード上に搭載されたシステムのコード変換器の検証方法
JPH08272590A (ja) 文字データ変換方法および装置
EP1103898A3 (en) Microprocessor and memory
US6357002B1 (en) Automated extraction of BIOS identification information for a computer system from any of a plurality of vendors
JPS5998362A (ja) メモリカセツトの識別装置
JP3533339B2 (ja) 復号化装置および復号化方法、並びに、プログラム記録媒体
JPS62257568A (ja) 禁則文字選択機能を有する文字処理装置
JP3464019B2 (ja) レジスタの割付方式
JPH03276366A (ja) 漢字コード処理装置
JP3182497B2 (ja) 演算処理装置および命令変換装置
JPH0594345A (ja) データ格納方式
JP3884807B2 (ja) 文書処理方法及びその装置
JP3387582B2 (ja) 文字処理装置
JPH08212120A (ja) ファイル名管理システム
JPS6138493B2 (ja)

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020604