JP3725443B2 - Unicodeテキストを混合コードページに変換する方法およびシステム - Google Patents
Unicodeテキストを混合コードページに変換する方法およびシステム Download PDFInfo
- Publication number
- JP3725443B2 JP3725443B2 JP2001122514A JP2001122514A JP3725443B2 JP 3725443 B2 JP3725443 B2 JP 3725443B2 JP 2001122514 A JP2001122514 A JP 2001122514A JP 2001122514 A JP2001122514 A JP 2001122514A JP 3725443 B2 JP3725443 B2 JP 3725443B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- code
- sub
- priority
- characters
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータ可読文字に関連する文字コード間で変換するための方法およびシステムに関する。詳細には、本発明は、Unicode標準に従ってエンコードされたソース・ストリングを、混合コードページに従ってエンコードすべきターゲット・ストリングに変換するための方法およびシステムに関する。
【0002】
【従来の技術】
コンピュータやその他の電子装置は、ユーザと対話するために一般にテキストを使用する。テキストは、一般にモニタまたは他の種類の表示装置に表示される。テキストは、コンピュータまたは他の電子装置中ではデジタルで表さなければならないので、文字セット・エンコーディングを使用しなければならない。一般に、文字セット・エンコーディングは、文字セットの各文字を一義的なデジタル表示にエンコードする。(エンコードされた)文字は、英字、数字、および様々なテキスト記号に対応する。これらの文字には、コンピュータまたは他の電子装置が使用するために数値コードが割り当てられる。コンピュータおよび他の電子装置で使用するための最も普及した文字セットは、情報交換用米国標準コード(ASCII)である。ASCIIは、そのエンコーディングのために7ビット・シーケンスを使用する。他の国では、異なる文字セットが使用されている。ヨーロッパでは、主要な文字エンコーディング標準は、国際標準化機構(ISO)によって開発されたISO 8859−Xファミリ、特にISO 8859−1(「Latin-1」と呼ばれる)である。日本では、主要な文字エンコーディング標準は、JIS X0208である。ここでJISは日本工業規格を指し、日本規格協会(JSA)によって開発されたものである。他に存在する文字セットの例として、Mac(商標)OS標準ローマ字エンコーディング(アップル・コンピュータ社による)、シフトJIS(日本)、Big5(台湾)、およびその他多くのものが含まれる。
【0003】
上述の文字セットは、前記文字セットに含まれる各文字のコーディングを示す一種のテーブルであるいわゆるコードページに格納されている。したがって、各文字についてそれに関連する数値コードが与えられ、この両者の間に一義的なマッピングが存在する。大部分のコードページは、各文字に1バイト長の数値コードを関連付ける。しかし、それよりも多い、例えば2バイトまたは3バイト長の数値コードを有するコードページも存在する。すべて同じコード長を有する文字を含むコードページは、単純コードページと呼ばれる。
【0004】
複雑な個々の言語特有の国内要件によりよく対応するために、いわゆる混合コードページも存在する。混合コードページは、少なくとも2つのサブ・コードページを含み、そのコーディングは、長さが異なることがある。前記サブ・コードページは、コードセットとも呼ばれる。それには0〜3と番号が付けられる。例えば混合日本語コードページIBM−33722は、コードセットIBM−895(1バイト、コードセット0)、IBM−952(2バイト、コードセット1)、IBM−896(エスケープ8E+1バイト、コードセット2)、およびIBM−953(エスケープ8F+2バイト、コードセット3)を含む。
【0005】
ビジネスおよびネットワークの国際化の進展が着実に前進し、世界中のほとんどすべての国を接続するインターネットの影響がいっそう増加する状況では、異なる種類のコードページを使用するコンピュータ間のデータのどんな変換も、できる限り高速でなければならず、任意選択でできる限り単純でなければならない。
【0006】
前記コード変換を単純化するために、いわゆるUnicode標準が開発され、この間国際的に認知されてきた。Unicodeは、存在するすべてのコードセットを表すためのただ1つの方式を提供する。Unicodeエンコーディング方式の設計は、方向性を別にすれば、基本的なテキスト処理アルゴリズムの設計から独立している。Unicodeの実装は、適当なテキストの処理またはレンダリングあるいはその両方のアルゴリズムを含むと想定される。Unicode標準に従ってエンコードされたどの文字も2バイト長の数値コードで表される。
【0007】
次の問題は、Unicode標準から上述の混合コードページに変換する非常に効率的な方法を見つけることである。すなわち、Unicode標準で表されるソース・ストリングが与えられており、これを複数のコードページを含むコード・システム、例えば上で述べたような4つの複数のコードページに、非常に簡単に、しかも非常に高速に変換したいわけである。
【0008】
従来技術のUnicodeから複数のコードページへの変換方法は、米国特許第5793381号に開示されている。前記コード変換システムは、1つのソース文字または文字のシーケンスを、マッピング・テーブル中で関連するターゲット文字の位置を検索することによって、1つのターゲット文字またはターゲット文字のシーケンスにマップする。ソース文字を読み取ると、前記マッピング・テーブルがアクセスされ、どのサブ・コードページをコード変換に使用するかが決定される。特定のサブ・コードページが見つかり、前記サブ・コードページで変換できないソース文字が入力文字ストリング中で見つかるまで、そのコードページが引き続きコード変換に使用される。変換できないものがあった場合、正しいサブ・コードページを見つけるために前記補助マッピング・テーブルが再アクセスされる。さらに、前記従来技術のコード変換システムは、フォールバック・ハンドリングを含む。これは、マッピング・テーブルを使って、ルックアップ・ハンドラがターゲット・エンコーディング中のテキスト要素に対する1つまたは複数の文字を識別できなかった場合に、そのテキスト要素に対するフォールバック・マッピングとして使用できる、ターゲット・エンコーディング中の1つまたは複数の文字を識別する働きをする。
【0009】
しかし、この従来技術の手法は、追加のルックアップ・テーブルを使用し、そのため必要以上に低速になり、複雑になってしまう。
【0010】
【発明が解決しようとする課題】
したがって、本発明の目的は、Unicodeテキストから混合コードページにコード変換するための、よりよい性能で実行できる方法およびシステムを提供することである。
【0011】
【課題を解決するための手段】
本発明の前記目的は、頭記の独立請求項に記載の特徴によって達成される。本発明のさらに有利な構成および実施形態は、それぞれの従属請求項に記載されている。
【0012】
本発明の基本的概念を簡単に要約すると、各サブ・コードページに所定の優先度を関連付け、ターゲット文字およびそのエンコーディングが複数のサブ・コードページのうちのどこに格納されているかを見つけるために、マッピング・テーブルを使用せず文字を前記優先順位に厳密に従って変換することを提案する。最も頻繁に使用される文字を含むサブ・コードページを、最高の優先度に関連付け、最もまれにしか使用されない文字を含むサブ・コードページは、最低の優先度に関連付けると有利である。したがって、4つのサブ・コードページの場合、前記サブ・コードページ間の優先順位を確立することができる。各優先度は、特定の文字がそれぞれのサブ・コードページで見つかる確率の指標である。
【0013】
この基本的手法のほかに、ある文字が特定のサブ・コードページで見つからなかった場合、前記文字についてまだアクセスしていない最高の優先度を有するサブ・コードページにアクセスすることをさらに提案する。
【0014】
上述の本発明の処置を適用することにより、以下の利点が得られる。
【0015】
第1に、上述の従来技術の変換方法に比べ、性能が著しく向上する。現在使用しているサブ・コードページで文字が見つからなかった度にアクセスしなければならない独立したマッピング・テーブルが存在しないからである。
【0016】
第2に、前記補助マッピング・テーブルをまったく作成する必要がない。このため多くの労力が節約される。
【0017】
第3に、言語についての地域特有の情報が活用されるように、複数のサブ・コードページに与える優先順位を確定することができる。したがって、本発明の変換方法は、個々の、地域特有のコードページ・システムによって課される個別要件に容易に適合できる。
【0018】
個々のケースに応じて、あらかじめ変換すべき特定のテキストが平均的でないことがわかっているときは、本発明のコード変換方法をそのテキストによって課される特定の要件に適合させるために、コード変換を実行する前に、上述の優先順位を標準設定から個別の設定へと代替的に動的にすることができる。その新しい優先順位を、例えば変換すべきファイルのヘッダ中に示すことができる。
【0019】
本発明の方法の注目すべき他の利点は、一度に1つではなく複数の文字を処理するハードウェア命令が使用できるという、現代のコンピュータ・システムの特定の利点を活用できるコンセプトが提供されることである。そのような現代のハードウェア命令には、どんな種類のマッピング・テーブルへもチェックのための追加のアクセスなしに、ターゲット文字を検索するための線形テーブルが必要である。
【0020】
本発明は、有利には、何らかのコード変換が必要なとき、インターネットで使用することができる。さらに、データ・ベースの内容の一部がUnicodeテキストから混合コードページに変換される可能性が高いときは、本発明のツールを前記データ・ベース・アプリケーションに組み込むことができる。
【0021】
本発明の方法を、特定の文字が複数のサブ・コードページのうちの1つで見つかる確率がすべてのサブ・コードページで等しい場合に適用するときは、4つのサブ・コードページが存在する場合、統計的平均値で2回だけしか追加のアクセスを必要としない。この値は、3つのサブ・コードページでは1.5回まで減少し、2つのサブ・コードページの場合は1回まで減少する。日本語EUCテーブルの場合、すべての文字のうちの70%がコードセット1で見つかり、30%がコードセット0で見つかり、1%未満が残りのコードセット2および3で見つかるが、前記統計的平均値は1より少し大きくなる。
【0022】
さらに、本発明は、有利には、ハードウェア・チップ中に直接バーンイン(burnt-in)されたハードウェア実装に少なくともその一部を組み込むことができる。その場合、そのようなチップ手段は、本発明のコード変換方法のステップの少なくとも一部を実装し反映したハードウェア回路を含む。電気通信機器が着実に多様化し、ますます多くの技術的機能を含めてその機能範囲が着実に増大していることを考慮すると、このようなチップは、広範囲の機器で使用することができる。今日利用可能な機器を考えると、このようなチップは、国際的通信のどんな部分を形成するどんな機器においても使用できると有利である。例えば、インターネットなど任意の種類のネットワーク中のルータ、テレビや無線受信装置用のセットトップ・ボックス(Set-Top box)、特にデジタル・テレビやラジオ、携帯電話、任意の種類のハンドヘルド・コンピューティング機器または電気通信機器、あるいは任意の外国語のデータを処理するための入力インターフェースを有する他の任意の機器がその例である。
【0023】
【発明の実施の形態】
添付の図を全般的に参照し、特に図1を参照すると、ボックス10に、本発明の変換方法が適用されるUnicode文字の全体が象徴的に表されている。
【0024】
本発明の前記方法の好ましい実施形態によれば、使われる複数のサブ・コードページの間のいくつかの明確な優先順位を確立する、いくつかの優先度規則12を定める。本明細書では時に「コードセットn」(nは整数)という用語を使うが、これは用語「サブ・コードページn」と基本的に同じ意味を持つ。図1に示すケースでは、コードセット1 14、コードセット0 15、コードセット216、およびコードセット3 17として示した4つのサブ・コードページが使用される。枠10には、例として選択した4個の文字が示されているが、その文字のエンコーディングは、図1の右側からわかるように異なる別々のサブ・コードページにある。
【0025】
前記各テーブル10、14、15、16、17の図からわかるように、各文字に対して数値コードが格納されている。
【0026】
次に図2および図3を参照すると、本発明の方法の好ましい実施形態が、日本語Unicodeから混合日本語EUCサブ・コードページへの例示的なコード変換において、より詳細に示されている。
【0027】
コード変換を開始する前に、前記日本語EUCサブ・コードページについての既存の推定が使用される。この推定によれば、この特定のケースでのサブ・コードページでは、コードセット1は、出現するすべてのソース文字のほぼ70%を占め、コードセット0は出現する文字全体の約29%、コードセット2は約0.6%、コードセット3は約0.4%を含むように編成される。前記コードセットの確率分布は、最も頻繁に使用されるコードセット14が前面に示され、最もまれにしか使用されないコードセットがコードセットの「スタック」の最後のセット17として示される限りにおいて、図1にも示されている。したがって上述の優先順位は、以下のようになる。
コードセット1、コードセット0、コードセット2、コードセット3
【0028】
図2に任意に選んだ例での大まかな図を示す。この図は、230個の各文字が、各文字の見つかる可能性がある4つのサブ・コードページのうちのどの中にあるかを示す。
【0029】
合計230個のソース文字が、単一の例示的な変換処理で変換される。230という数字は、処理をわかりやすくするために非常に小さく選んであることを理解されたい。
【0030】
したがって、合計230個のソース文字が、図1に参照符号10で象徴的に表される入力セットが含まれる。本発明の方法によって発行する必要のある新しい数値コードは、4つのサブ・コードページ14、15、16、17に以下のように格納される。図1の右側を参照のこと。
文字1〜171がコードセット1に、
文字172、173がコードセット0に、
文字174〜196がやはりコードセット1に、
非常にまれにしか使用されない文字197はコードセット3に置かれ、
文字198〜210が再びコードセット1に、
文字211〜215がコードセット0に格納され、
非常にまれにしか使用されない文字216、217もコードセット2に、
文字218〜230がコードセット1に格納される。
【0031】
前記変換方式では、上述のソース文字を順次処理する。本発明の方法を適用するための好ましい方法では、複数の文字を一度に処理するハードウェア命令が使用できる。その一例は、2バイト文字で構成されるストリングを1バイト文字で構成される出力バッファに変換するIBM OS/390のハードウェア命令「Translate Two to One」(TRTOと略記する)である。前記ハードウェア命令は以下のような引数をとる。
変換すべきストリング、
変換されたストリングを格納するターゲット・バッファ、
特定の入力文字が変換できないことを示す文字、
変換すべき文字を用いてアドレスされ、変換された文字がそのアドレスされた位置に格納される変換テーブル
【0032】
しかし、わかりやすくするため、かつ本発明の実際の核心に注意を集中する目的で、上述の入力文字シーケンスを、単一文字変換処理、すなわち各文字を別々に扱う処理にかける。
【0033】
この本実施形態の好ましい特徴によれば、上述の優先順序から導かれた1組の処理規則が確立される。前記処理規則は、以下の通りである。
1.最初に最も高い優先度のコードセットにアクセスする。
2.最も高い優先度のコードセット中に特定の文字が見つからないとき、そのすぐ下の優先度のコードセットに進み、それを繰り返す。
3.あるコードセット中に文字が見つからなかった場合、この文字についてまだアクセスしていない最も高い優先度のコードセットをアクセスする。
【0034】
これらの規則を適用することにより、図3に示す略図が得られる。
【0035】
図3は4つの行を含む。第1行は、サブ・コードページ1、すなわち最高の優先度を有するサブ・コードページからアクセスを始めて、ある特定の文字が見つからない場合に、次々にアクセスするサブ・コードページのシーケンスを、反映している。すなわち、ある文字がサブ・コードページ1で見つからないとき、その現文字を検索するためにサブ・コードページ0にアクセスする。前記現文字がサブ・コードページ0で見つかった場合、処理は前記サブ・コードページ中で、変換すべき次の文字に進む。この次の文字については、検索のために第2行を適用する。そうではなくて、上述の現文字がサブ・コードページ0で見つからない場合、さらに検索するためにサブ・コードページ2にアクセスする。その後はサブ・コードページ2について対応する方式に従うことになる。
【0036】
現文字がサブ・コードページ2で見つかった場合、関連する数値コード、すなわち変換後のコードが発行され、図3に示す第3行に従って次の文字を検索する。そうでない場合、すなわち現文字がサブ・コードページ2で見つからない場合、最後のサブ・コードページ3に検索のためアクセスする。その結果文字がみつかり、検索は、図3に示す第4行に進む。
【0037】
上記の説明から理解できる通り、本発明の前記実施形態によれば、常に最後の文字の発見に成功した特定のサブ・コードページ中で検索を続行する。
【0038】
第2行、第3行、または第4行を特に参照すると、各現サブ・コードページ中で、変換すべき次の文字が見つからないとき、変換すべき次の文字を求めて、常に最高の優先度のサブ・コードページ(ここでは図1に参照符号14で示すコードページ1)にアクセスする。
【0039】
図2に示す文字ストリングを特に参照すると、処理の方法、すなわち異なるサブ・コードページにアクセスする方法が、より詳細に示されている。図2、図3のどちらでも、A)〜G)で表示される矢印がある。これらの矢印は、アクセスがそれぞれあるコードセットから別のコードセットへと変更されることを示す。
【0040】
サブ・コードページ1は、最高の優先度のサブ・コードページであるため、検索は、サブ・コードページ1へのアクセスから始まる。したがって、文字1が見つかり、その数値コードが、サブ・コードページ1に格納されている数値コードを出力することによって変換される。その後、変換プロセスによって第2の文字が入力として取得されるが、第2の文字もサブ・コードページ1に格納されているため、同様の手順が繰り返される。文字番号172に達するまで、同様の手順が継続して適用される。
【0041】
前記現文字172は、サブ・コードページ1では見つからない。したがって、矢印A)からわかるように、次にサブ・コードページ0にアクセスする。それが次に高い優先度を有するサブ・コードページだからである。たまたまこの場合は、文字172は、サブ・コードページ0で見つかる。したがって、その数値コードが上記のように発行される。次にサブ・コードページ0が引き続き、文字173に適用される。ところで、図2からわかるように、文字173もサブ・コードページ0に格納されている。次いで、文字174を処理する。今度はこの文字は、コードセット0では見つからない。したがって、図3の第2行が適用される。矢印B)からわかるように、コードセット1に再度アクセスする。コードセット1を検索するときにこの文字が見つかる確率が最大だからである。
【0042】
たまたまこの場合は、やはり図2からわかるように、前記文字174は、再びコードセット1で見つかる。したがって、発行後に第1行が再び適用される。文字175〜196も、コードセットを変更せずに上記のように処理される。
【0043】
次いで、非常にまれにしか使用されない文字197は、コードセット1では見つからない。したがって、図3の矢印C)からわかるように、コードセット0にアクセスし検索する。次いで、文字197がその中で見つからないので、コードセット2にアクセスし検索する。文字197はその中でも見つからないので、最後にコードセット3にアクセスする。その中で文字197が見つかり、その数値コードが発行される。次いで、コードセット3で検索が続行する。
【0044】
文字198は、コードセット3では見つからない。したがって、図3に示す第4行が適用され、矢印D)からわかるように、次にコードセット1にアクセスする。その中で、文字198について検索が成功するが、文字211は見つからない。したがって、第1行が再び適用される。矢印E)からわかるように、次にコードセット0にアクセスする。コードセット0で、文字211〜215が見つかる。
【0045】
しかし、文字216は見つからず、したがって第2行が適用され、検索のためコードセット1に再アクセスする。しかしその中でも見つからないので、矢印F)からわかるように、コードセット2にアクセスする。そこで文字216が見つかり、発行後に、次の文字217をコードセット2で処理することも成功する。
【0046】
次いで、文字218を処理するが、それはコードセット2では見つからないので、図3の第3行からわかるように、コードセット1に再アクセスする。文字218と、それに続く変換すべき文字の入力セットに残っているすべての文字は、コードセット1でやはり見つかる。したがって、それらは上記のように処理し、最後の文字230が変換された後、変換プロセスは停止する。こうして、すべてのソース文字コードの変換が成功した。
【0047】
上述の明細においては、本発明を、その特定の例示的な実施形態に関して説明した。しかし、頭記特許請求の範囲記載の本発明のより広範な精神および範囲から逸脱することなく、本発明に様々な修正および変更を加えることができることは明らかであろう。したがって本明細および図面は、限定的な意味ではなく例示的なものとみなされるべきである。
【0048】
例えば、まれしか使用されないコードセットでヒットした後、検索を別の方法で続行することもできる。あるいは、その同一のまれにしか使用されないコードセットで文字を見つけようと試みるのではなく、自動的に最高の優先度のコードセットに検索を進めることもできる。この状況は、上で示した詳細な説明では、文字197を処理した後に起こる。統計的に見れば、さらに少し性能の向上が達成できる。
【0049】
本発明は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現することができる。本発明によるコード変換ツールは、1つのコンピュータ・システムでの集中形式、または様々な要素がいくつかの相互接続されたコンピュータ・システムにわたって展開する分散形式で実現することができる。本明細書に記載の方法の実施に適合したどんな種類のコンピュータ・システムやその他の装置でも適している。ハードウェアとソフトウェアの典型的な組み合わせは、ロードされ実行されると、本明細書に記載の方法を実施するようにコンピュータ・システムを制御する、コンピュータ・プログラムを備える汎用コンピュータ・システムとすることもできる。
【0050】
本発明はコンピュータ・プログラム製品に組み込むこともできる。そのコンピュータ・プログラム製品は、本明細書に記載の方法の実装を可能にし、コンピュータ・システムにロードしたときこれらの方法を実施することができる、すべての特徴を含む。
【0051】
コンピュータ・プログラム手段、すなわちこの文脈でのコンピュータ・プログラムは、情報処理能力を有するシステムに、直接に、または以下の一方もしくは両方を行った後に、特定の機能を実行させるための1組の命令の、任意の言語、コード、または表記法による任意の表現を意味する。
a)他の言語、コード、または表記法に変換する
b)異なるマテリアル・フォームで複製する
【0052】
本願発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するコンピュータ・システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムを制御し、本願発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または1.他の言語・コード・表記への変換、2.他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本願発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本願発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハード・ディスク装置、ROM、MRAM、RAM等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【0053】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0054】
(1)複数のソース文字を含むソース・ストリングをターゲット・ストリングに変換する方法において、前記ソース・ストリングは、Unicodeコードページに従ってエンコードされており、前記ターゲット・ストリングは、複数のサブ・コードページ(14、15、16、17)を含む混合コードページに従ってエンコードしようとするものであり、
各サブ・コードページ(14、15、16、17)に所定の処理優先度を関連付けて処理優先順位をもたらすステップと、
前記優先順位に厳密に従って文字を変換するステップとを含む方法。
(2)前記優先順位が、前記サブ・コードページ(14、15、16、17)のうちの1つであるソース文字が見つかる確率を反映する上記(1)に記載の方法。
(3)ある文字が現サブ・コードページで見つからなかった場合に、前記文字についてまだアクセスしていない最高の優先度を有するサブ・コードページにアクセスするステップをさらに含む上記(1)に記載の方法。
(4)複数の文字が単一のハードウェア命令によって処理される上記(1)に記載の方法。
(5)コード変換を実行する前に、前記優先順位が、標準設定から個別の設定へと動的に変更される上記(1)に記載の方法。
(6)上記(1)ないし(5)のいずれか一項に記載の方法の諸ステップを実行するためのプログラム手段をインストールしたコンピュータ・システム。
(7)上記(1)ないし(5)のいずれか一項に記載の方法の諸ステップを実行するためのプログラム手段をインストールしたインターネット・サーバとして使用するように構成された、上記(6)に記載のコンピュータ・システム。
(8)上記(1)ないし(5)のいずれか一項に記載の方法の諸ステップの少なくとも一部を実装したハードウェア回路を備えるチップ。
(9)上記(8)に記載のチップを備える装置。
(10)上記(1)ないし(5)のいずれか一項に記載の方法のそれぞれのステップを実行するためのコンピュータ・プログラム・コード部分を含む、データ処理システムで実行するためのコンピュータ・プログラム。
(11)ブラウザ・プログラムである、上記(10)に記載のコンピュータ・プログラム。
(12)コンピュータ使用可能媒体に格納され、コンピュータに上記(1)ないし(5)のいずれか一項に記載の方法を実行させるためのコンピュータ可読プログラム手段を含むコンピュータ・プログラム製品。
【図面の簡単な説明】
【図1】本発明の方法の基本的要素を示す論理的概略図である。
【図2】230個の各文字が、各文字の見つかる可能性がある4つのサブ・コードページのうちのどの中にあるかを示す、任意に選んだ例での大まかな図である。
【図3】コード変換の間に本発明の好ましい実施形態による方法が適用されたときの、コードセット・アクセスのシーケンスを示す論理図である。
【符号の説明】
10 本発明の変換方法が適用されるUnicode文字の全体
12 優先度規則
14 コードセット1
15 コードセット0
16 コードセット2
17 コードセット3
Claims (9)
- 複数のソース文字を含むソース・ストリングをターゲット・ストリングに変換する方法において、前記ソース・ストリングは、Unicodeコードページに従ってエンコードされており、前記ターゲット・ストリングは、コードセットのスタックにある複数のサブ・コードページ(14、15、16、17)を含む混合コードページに従ってエンコードしようとするものであり、
各サブ・コードページ(14、15、16、17)に所定の処理優先度を関連付けて処理優先順位をもたらすステップと、
前記優先順位に厳密に従って前記サブ・コードページにアクセスするステップと、
文字を変換し出力バッファに出力するステップと、
変換すべき文字を用いてアドレスされ、変換された文字を変換テーブルのそのアドレスされた位置に格納するステップと、
を含む方法。 - 前記優先順位が、前記サブ・コードページ(14、15、16、17)のうちの1つであるソース文字が見つかる確率を反映する請求項1に記載の方法。
- 前記アクセスするステップにおいて、ある文字が現アクセス中のサブ・コードページで見つからなかった場合に、前記文字についてまだアクセスしていない最高の優先度を有するサブ・コードページにアクセスするステップをさらに含む請求項1に記載の方法。
- コード変換を実行する前に、前記優先順位が、標準設定から個別の設定へと動的に変更される請求項1に記載の方法。
- 複数のソース文字を含むソース・ストリングをターゲット・ストリングに変換する方法をコンピュータに実行させるためのプログラムにおいて、前記ソース・ストリングは、 Unicode コードページに従ってエンコードされており、前記ターゲット・ストリングは、コードセットのスタックにある複数のサブ・コードページ(14、15、16、17)を含む混合コードページに従ってエンコードしようとするものであり、
各サブ・コードページ(14、15、16、17)に所定の処理優先度を関連付けて処理優先順位をもたらすステップと、
前記優先順位に厳密に従って前記サブ・コードページにアクセスするステップと、
文字を変換し出力バッファに出力するステップと、
変換すべき文字を用いてアドレスされ、変換された文字を変換テーブルのそのアドレスされた位置に格納するステップと、
を含む方法をコンピュータに実行させるためのプログラム。 - 前記優先順位が、前記サブ・コードページ(14、15、16、17)のうちの1つであるソース文字が見つかる確率を反映する請求項5に記載の方法をコンピュータに実行させるためのプログラム。
- 前記アクセスするステップにおいて、ある文字が現アクセス中のサブ・コードページで見つからなかった場合に、前記文字についてまだアクセスしていない最高の優先度を有するサブ・コードページにアクセスするステップをさらに含む請求項5に記載の方法をコンピュータに実行させるためのプログラム。
- コード変換を実行する前に、前記優先順位が、標準設定から個別の設定へと動的に変更される請求項5に記載の方法をコンピュータに実行させるためのプログラム。
- 請求項5乃至8のいずれかに記載のプログラムを記載したコンピュータ読取可能な記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00108884 | 2000-04-26 | ||
EP00108884.8 | 2000-04-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001357031A JP2001357031A (ja) | 2001-12-26 |
JP3725443B2 true JP3725443B2 (ja) | 2005-12-14 |
Family
ID=8168559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001122514A Expired - Fee Related JP3725443B2 (ja) | 2000-04-26 | 2001-04-20 | Unicodeテキストを混合コードページに変換する方法およびシステム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP3725443B2 (ja) |
KR (1) | KR100399495B1 (ja) |
DE (1) | DE60131490T2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100923258B1 (ko) * | 2003-01-30 | 2009-10-23 | 엘지전자 주식회사 | 휴대 단말기 소스 파일의 유니코드 변환 방법 |
KR100755533B1 (ko) * | 2005-07-25 | 2007-09-06 | 주식회사 팬택 | 캐릭터 셋 생성 방법 및 그 장치 |
JP5493764B2 (ja) * | 2009-11-20 | 2014-05-14 | セイコーエプソン株式会社 | 制御装置、制御装置の制御方法、及び、プログラム |
WO2012049773A1 (ja) | 2010-10-15 | 2012-04-19 | 三菱電機株式会社 | プログラマブルコントローラ |
JP6209901B2 (ja) * | 2013-08-26 | 2017-10-11 | 富士通株式会社 | 文字データ処理方法、プログラム及び情報処理装置 |
CN107135429B (zh) * | 2017-05-12 | 2019-10-25 | 武汉斗鱼网络科技有限公司 | 弹幕消息解析方法、装置、电子设备及计算机可读储存介质 |
CN112395830A (zh) * | 2019-07-31 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 一种基于万国码的表格处理方法以及相关装置 |
-
2001
- 2001-03-24 KR KR10-2001-0015424A patent/KR100399495B1/ko not_active IP Right Cessation
- 2001-04-14 DE DE2001631490 patent/DE60131490T2/de not_active Expired - Lifetime
- 2001-04-20 JP JP2001122514A patent/JP3725443B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20010098422A (ko) | 2001-11-08 |
KR100399495B1 (ko) | 2003-09-26 |
JP2001357031A (ja) | 2001-12-26 |
DE60131490D1 (de) | 2008-01-03 |
DE60131490T2 (de) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6877003B2 (en) | Efficient collation element structure for handling large numbers of characters | |
JP3778087B2 (ja) | データ符号化装置及びデータ復号装置 | |
JP6447161B2 (ja) | 意味構造検索プログラム、意味構造検索装置、及び意味構造検索方法 | |
US8947272B2 (en) | Decoding encoded data | |
JP5788047B2 (ja) | テキストをマトリクスコードシンボルに符号化するためのエンコーダ、およびマトリクスコードシンボルを復号化するためのデコーダ | |
US20020120654A1 (en) | Large character set browser | |
JP3725443B2 (ja) | Unicodeテキストを混合コードページに変換する方法およびシステム | |
US20030121005A1 (en) | Archiving and retrieving data objects | |
US20020052902A1 (en) | Method to convert unicode text to mixed codepages | |
US6871274B2 (en) | Instruction code conversion apparatus creating an instruction code including a second code converted from a first code | |
CN107832341B (zh) | Agnss用户去重统计方法 | |
JP2007042146A (ja) | 中国語データおよびユーザ修正データの作成し、かつ、使用する方法およびシステム | |
US8463759B2 (en) | Method and system for compressing data | |
JP2019121165A (ja) | 検索結果出力プログラム、検索結果出力装置および検索結果出力方法 | |
EP1152347B1 (en) | Method to convert UNICODE text to mixed codepages | |
TW561360B (en) | Method and system for case conversion | |
US10803243B2 (en) | Method, device, and medium for restoring text using index which associates coded text and positions thereof in text data | |
JP2007148751A (ja) | 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造 | |
CN112395468A (zh) | 一种号码管理方法、装置及电子设备和存储介质 | |
CN111488727B (zh) | 词文件解析方法、词文件解析设备和计算机可读存储介质 | |
JP4061283B2 (ja) | 字句をデータに変換する装置、方法及びプログラム | |
JP2005275880A (ja) | 字句をデータに変換する装置、方法及びプログラム | |
JP2004013680A (ja) | 文字コード圧縮・復元装置および同方法 | |
CN116932428A (zh) | 用于内存管理单元的透传数据的方法以及内存管理单元 | |
JP2005295216A (ja) | データ処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040428 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050907 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050921 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080930 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090930 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090930 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100930 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |