JP6524887B2 - 文字コード処理プログラム、情報処理装置、及び文字コード処理方法 - Google Patents
文字コード処理プログラム、情報処理装置、及び文字コード処理方法 Download PDFInfo
- Publication number
- JP6524887B2 JP6524887B2 JP2015214543A JP2015214543A JP6524887B2 JP 6524887 B2 JP6524887 B2 JP 6524887B2 JP 2015214543 A JP2015214543 A JP 2015214543A JP 2015214543 A JP2015214543 A JP 2015214543A JP 6524887 B2 JP6524887 B2 JP 6524887B2
- Authority
- JP
- Japan
- Prior art keywords
- byte
- code
- character
- character code
- bytes
- 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
- 230000010365 information processing Effects 0.000 title claims description 14
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000012545 processing Methods 0.000 claims description 232
- 238000000034 method Methods 0.000 claims description 101
- 240000000220 Panda oleosa Species 0.000 claims description 84
- 235000016496 Panda oleosa Nutrition 0.000 claims description 84
- 238000006243 chemical reaction Methods 0.000 claims description 79
- 230000008569 process Effects 0.000 claims description 60
- 230000009466 transformation Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 description 177
- 230000006835 compression Effects 0.000 description 164
- 230000006837 decompression Effects 0.000 description 32
- 230000000052 comparative effect Effects 0.000 description 11
- 238000007639 printing Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 241000237502 Ostreidae Species 0.000 description 6
- 235000020636 oyster Nutrition 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Description
はじめに、比較例について説明する。なお、以下の説明では、半角カナを2バイトで表現するEUC−JP(Extended UNIX(登録商標) Code Packed Format for Japanese)(以下、単にEUCと表記する)の文字コード体系において、COBOLプログラムの改修を行なわずに、半角カナを1バイトで扱う場合を例に挙げる。
例えば図3に示すように、圧縮後のバイト列が全角漢字のバイト列と混在する場合、復元処理部によって正しく復元することが困難となる。上述のように、圧縮後のバイト列と全角漢字のバイト列とが完全一致する場合があり、復元の際に半角カナであるのか全角漢字であるのかの判断が困難となるからである。
例えば図4に示すように、圧縮後のバイト列が全角漢字のバイト列と混在する場合、圧縮処理部による再圧縮(各文字コードからの“8E”の除去)又は復元処理部による復元(各文字コードへの“8E”の付加)によって、文字列が壊れる場合がある。このように、圧縮及び復元を行なう文字列に含める文字種を半角カナ及び英数字に制限したとしても、利用者の使用法誤解等によって「漢字との混在」、「圧縮前後の文字の混在」、「再圧縮又は再復元」等が生じた場合には、データ破壊に繋がる虞がある。
そこで、一実施形態では、以下の手法により、上述した不都合を解消しつつ文字コードのバイト数を削減する。なお、以下の説明では、半角カナを3バイトで表現するUTF−8の文字コード体系において半角カナを1バイトで扱う場合を例に挙げる。
図6は一実施形態に係るシステム1の構成例を示す図である。システム1は、プログラム、例えばCOBOLプログラムの開発環境及びコンパイルされたプログラムを利用して運用を行なう運用環境をそなえてよい。図6に示すように、情報処理システム1は、例示的に、少なくとも1つ(図6では2つ)の処理装置2及び3をそなえる。
以下、一実施形態に係る圧縮処理部24及び37による圧縮処理、並びに、復元処理部39による復元処理の一例について説明する。
第1の手法では、圧縮処理部24及び37は、UTF−8の文字コード体系において、半角カナを表す文字コードの先頭の2バイトを取り除く、換言すれば最下位バイト以外のバイトコードを削除することにより文字コードの圧縮を実現する。また、復元処理部39は、圧縮済の半角カナを表す1バイトの文字コードに対して、圧縮処理において取り除いた2バイトを上位バイトとして付加又は加算することにより文字コードの復元を実現する。
“0xEFBDA1”〜“0xEFBDBF”(第1コード域) :“0xA1”〜“0xBF”
“0xEFBE80”〜“0xEFBE9F”(第2コード域) :“0x80”〜“0x9F”
第2の手法では、圧縮処理部24及び37は、UTF−8の文字コード体系において、半角カナを表す2つのバイト域の文字コードを、文字の大小関係を保持した状態で「多バイト文字の2バイト目以降のバイトコード」域に収まるように割り当て、文字コードの圧縮を実現する。また、復元処理部39は、圧縮済の半角カナを表す1バイトの文字コードに対して圧縮処理とは逆の変換を行ない、文字コードの復元を実現する。
“0xEFBDA1”〜“0xEFBDBF”(第1コード域) :“0x81”〜“0x9F”
“0xEFBE80”〜“0xEFBE9F”(第2コード域) :“0xA0”〜“0xBF”
変換後:ア[0xB1] > タ[0x80]
次に、一実施形態に係る圧縮前後の文字コードの扱いについて説明する。なお、便宜上、圧縮及び復元の変換規則として第2の手法を用いて説明するが、第1の手法を用いる場合も圧縮後の文字コードが異なるものの基本的に同様の処理である。
“テ”:“0xEFBE83” :“0xA3”
“ス”:“0xEFBDBD” :“0x9D”
“ト”:“0xEFBE84” :“0xA4”
次に、上述の如く構成されたシステム1の動作例について説明する。なお、便宜上、以下の動作例では第2の手法を用いて説明するが、第1の手法を用いる場合も圧縮又は復元の際の変換手法が異なるものの基本的に同様の動作である。
はじめに、図19を参照して、開発環境の処理装置2による動作例について説明する。
次に、図20〜図24を参照して、運用環境の処理装置3による動作例について説明する。
次に、図25及び図26を参照して、圧縮処理部24又は37による圧縮処理の動作例について説明する。
次に、図27及び図28を参照して、復元処理部39による復元処理の動作例について説明する。
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
以上の実施形態に関し、更に以下の付記を開示する。
コンピュータに、
記憶部に記憶された、所定の文字コード体系において2バイト以上のバイトコードに対応する文字と前記所定の文字コード体系における多バイト文字の上位から2バイト目以降のバイトコードに用いられる1バイトのコードとの対応関係を示す情報を参照し、
バイトコードを解釈する処理の際に、前記2バイト目以降のバイトコードに用いられる1バイトのコードが最上位バイトのバイトコードとして出現した場合には、前記対応関係を示す情報において、出現した前記2バイト目以降のバイトコードに用いられる1バイトのコードに対応する文字であると解釈する、
処理を実行させることを特徴とする、文字コード処理プログラム。
コンピュータに、
バイトコードを変換する処理の際に、変換対象の2バイト以上のバイトコードが出現した場合には、出現した前記2バイト以上のバイトコードを、前記対応関係を示す情報において、対応する2バイト目以降のバイトコードに用いられる1バイトのコードに変換する、
処理を実行させることを特徴とする、付記1記載の文字コード処理プログラム。
前記変換は、前記2バイト以上のバイトコードの最下位バイト以外のバイトコードを削除することを含むことを特徴とする、付記2記載の文字コード処理プログラム。
前記変換は、前記2バイト以上のバイトコードに所定の値を加算又は減算することを含むことを特徴とする、付記2又は付記3記載の文字コード処理プログラム。
前記対応関係を示す情報において、複数の前記2バイト以上のバイトコードに対応する文字間のバイトコードの値の大小関係と、複数の前記2バイト目以降のバイトコードに用いられる1バイトのコード間の大小関係とが等しいことを特徴とする、付記1〜4のいずれか1項記載の文字コード処理プログラム。
前記所定の文字コード体系において1バイトのバイトコードに対応する複数の文字の文字のコード域と、前記対応関係を示す情報における複数の前記2バイト目以降のバイトコードに用いられる1バイトのコード域とが連続した領域であることを特徴とする、付記1〜5のいずれか1項記載の文字コード処理プログラム。
前記所定の文字コード体系は、1文字を可変バイトで表現し、前記2バイト目以降のバイトコードに用いられる1バイトのコードが他の文字のバイトコードの1バイト目に出現するバイトコードと重複しない文字コード体系であることを特徴とする、付記1〜6のいずれか1項記載の文字コード処理プログラム。
前記所定の文字コード体系は、UTF−8(Unicode Transformation Format-8)であり、
前記2バイト以上のバイトコードに対応する文字は3バイトの半角カナ文字である、
ことを特徴とする、付記7記載の文字コード処理プログラム。
所定の文字コード体系において2バイト以上のバイトコードに対応する文字と前記所定の文字コード体系における多バイト文字の上位から2バイト目以降のバイトコードに用いられる1バイトのコードとの対応関係を示す情報を記憶する記憶部と、
バイトコードを解釈する処理の際に、前記2バイト目以降のバイトコードに用いられる1バイトのコードが最上位バイトのバイトコードとして出現した場合には、前記対応関係を示す情報において、出現した前記2バイト目以降のバイトコードに用いられる1バイトのコードに対応する文字であると解釈する解釈部と、
をそなえることを特徴とする、情報処理装置。
バイトコードを変換する処理の際に、変換対象の2バイト以上のバイトコードが出現した場合には、出現した前記2バイト以上のバイトコードを、前記対応関係を示す情報において、対応する2バイト目以降のバイトコードに用いられる1バイトのコードに変換する変換部をさらにそなえることを特徴とする、付記9記載の情報処理装置。
前記変換部は、前記2バイト以上のバイトコードの最下位バイト以外のバイトコードを削除することで前記変換を行なうことを特徴とする、付記10記載の情報処理装置。
前記変換部は、前記2バイト以上のバイトコードに所定の値を加算又は減算することで前記変換を行なうことを特徴とする、付記10又は付記11記載の情報処理装置。
前記対応関係を示す情報において、複数の前記2バイト以上のバイトコードに対応する文字間のバイトコードの値の大小関係と、複数の前記2バイト目以降のバイトコードに用いられる1バイトのコード間の大小関係とが等しいことを特徴とする、付記9〜12のいずれか1項記載の情報処理装置。
前記所定の文字コード体系において1バイトのバイトコードに対応する複数の文字の文字のコード域と、前記対応関係を示す情報における複数の前記2バイト目以降のバイトコードに用いられる1バイトのコード域とが連続した領域であることを特徴とする、付記9〜13のいずれか1項記載の情報処理装置。
前記所定の文字コード体系は、1文字を可変バイトで表現し、前記2バイト目以降のバイトコードに用いられる1バイトのコードが他の文字のバイトコードの1バイト目に出現するバイトコードと重複しない文字コード体系であることを特徴とする、付記9〜14のいずれか1項記載の情報処理装置。
前記所定の文字コード体系は、UTF−8(Unicode Transformation Format-8)であり、
前記2バイト以上のバイトコードに対応する文字は3バイトの半角カナ文字である、
ことを特徴とする、付記15記載の情報処理装置。
記憶部に記憶された、所定の文字コード体系において2バイト以上のバイトコードに対応する文字と前記所定の文字コード体系における多バイト文字の上位から2バイト目以降のバイトコードに用いられる1バイトのコードとの対応関係を示す情報を参照し、
バイトコードを解釈する処理の際に、前記2バイト目以降のバイトコードに用いられる1バイトのコードが最上位バイトのバイトコードとして出現した場合には、前記対応関係を示す情報において、出現した前記2バイト目以降のバイトコードに用いられる1バイトのコードに対応する文字であると解釈する、
ことを特徴とする、文字コード処理方法。
バイトコードを変換する処理の際に、変換対象の2バイト以上のバイトコードが出現した場合には、出現した前記2バイト以上のバイトコードを、前記対応関係を示す情報において、対応する2バイト目以降のバイトコードに用いられる1バイトのコードに変換する、
ことを特徴とする、付記17記載の文字コード処理方法。
前記変換は、前記2バイト以上のバイトコードの最下位バイト以外のバイトコードを削除することを含むことを特徴とする、付記18記載の文字コード処理方法。
前記変換は、前記2バイト以上のバイトコードに所定の値を加算又は減算することを含むことを特徴とする、付記18又は付記19記載の文字コード処理方法。
2、3、5 処理装置
21 プログラム
22 コンパイラ
23 定数取出部
24、37 圧縮処理部
25 オブジェクトファイル出力処理部
31 アプリケーション
32 外部入力要求部
33 データ操作部
34 外部出力要求部
35 ランタイムシステム
36 入力処理部
36a 画面入力部
36b 外部入力部
38 出力処理部
38a 画面出力部
38b 印刷出力部
38c 外部出力部
39 復元処理部
41 入力装置
42、45 記憶装置
43 表示装置
44 印刷装置
Claims (10)
- コンピュータに、
記憶部に記憶された、所定の文字コード体系において2バイト以上のバイトコードに対応する文字と前記所定の文字コード体系における多バイト文字の上位から2バイト目以降のバイトコードに用いられる1バイトのコードとの対応関係を示す情報を参照し、
バイトコードを解釈する処理の際に、前記2バイト目以降のバイトコードに用いられる1バイトのコードが最上位バイトのバイトコードとして出現した場合には、前記対応関係を示す情報において、出現した前記2バイト目以降のバイトコードに用いられる1バイトのコードに対応する文字であると解釈する、
処理を実行させることを特徴とする、文字コード処理プログラム。 - コンピュータに、
バイトコードを変換する処理の際に、変換対象の2バイト以上のバイトコードが出現した場合には、出現した前記2バイト以上のバイトコードを、前記対応関係を示す情報において、対応する2バイト目以降のバイトコードに用いられる1バイトのコードに変換する、
処理を実行させることを特徴とする、請求項1記載の文字コード処理プログラム。 - 前記変換は、前記2バイト以上のバイトコードの最下位バイト以外のバイトコードを削除することを含むことを特徴とする、請求項2記載の文字コード処理プログラム。
- 前記変換は、前記2バイト以上のバイトコードに所定の値を加算又は減算することを含むことを特徴とする、請求項2又は請求項3記載の文字コード処理プログラム。
- 前記対応関係を示す情報において、複数の前記2バイト以上のバイトコードに対応する文字間のバイトコードの値の大小関係と、複数の前記2バイト目以降のバイトコードに用いられる1バイトのコード間の大小関係とが等しいことを特徴とする、請求項1〜4のいずれか1項記載の文字コード処理プログラム。
- 前記所定の文字コード体系において1バイトのバイトコードに対応する複数の文字の文字のコード域と、前記対応関係を示す情報における複数の前記2バイト目以降のバイトコードに用いられる1バイトのコード域とが連続した領域であることを特徴とする、請求項1〜5のいずれか1項記載の文字コード処理プログラム。
- 前記所定の文字コード体系は、1文字を可変バイトで表現し、前記2バイト目以降のバイトコードに用いられる1バイトのコードが他の文字のバイトコードの1バイト目に出現するバイトコードと重複しない文字コード体系であることを特徴とする、請求項1〜6のいずれか1項記載の文字コード処理プログラム。
- 前記所定の文字コード体系は、UTF−8(Unicode Transformation Format-8)であり、
前記2バイト以上のバイトコードに対応する文字は3バイトの半角カナ文字である、
ことを特徴とする、請求項7記載の文字コード処理プログラム。 - 所定の文字コード体系において2バイト以上のバイトコードに対応する文字と前記所定の文字コード体系における多バイト文字の上位から2バイト目以降のバイトコードに用いられる1バイトのコードとの対応関係を示す情報を記憶する記憶部と、
バイトコードを解釈する処理の際に、前記2バイト目以降のバイトコードに用いられる1バイトのコードが最上位バイトのバイトコードとして出現した場合には、前記対応関係を示す情報において、出現した前記2バイト目以降のバイトコードに用いられる1バイトのコードに対応する文字であると解釈する解釈部と、
をそなえることを特徴とする、情報処理装置。 - 記憶部に記憶された、所定の文字コード体系において2バイト以上のバイトコードに対応する文字と前記所定の文字コード体系における多バイト文字の上位から2バイト目以降のバイトコードに用いられる1バイトのコードとの対応関係を示す情報を参照し、
バイトコードを解釈する処理の際に、前記2バイト目以降のバイトコードに用いられる1バイトのコードが最上位バイトのバイトコードとして出現した場合には、前記対応関係を示す情報において、出現した前記2バイト目以降のバイトコードに用いられる1バイトのコードに対応する文字であると解釈する、
ことを特徴とする、文字コード処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015214543A JP6524887B2 (ja) | 2015-10-30 | 2015-10-30 | 文字コード処理プログラム、情報処理装置、及び文字コード処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015214543A JP6524887B2 (ja) | 2015-10-30 | 2015-10-30 | 文字コード処理プログラム、情報処理装置、及び文字コード処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017084263A JP2017084263A (ja) | 2017-05-18 |
JP6524887B2 true JP6524887B2 (ja) | 2019-06-05 |
Family
ID=58714150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015214543A Expired - Fee Related JP6524887B2 (ja) | 2015-10-30 | 2015-10-30 | 文字コード処理プログラム、情報処理装置、及び文字コード処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6524887B2 (ja) |
-
2015
- 2015-10-30 JP JP2015214543A patent/JP6524887B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2017084263A (ja) | 2017-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1717719A1 (en) | Application conversion of source data | |
CN106970820A (zh) | 代码存储方法及代码存储装置 | |
US7917860B2 (en) | Simple styling | |
US20180324323A1 (en) | Information processing apparatus, and storage medium | |
CN109948308A (zh) | 代码安全保护方法、装置、电子设备和计算机可读存储介质 | |
CN110569628B (zh) | 一种代码的混淆方法以及装置、计算机设备、存储介质 | |
AU2015211150B2 (en) | Document page identifiers from selected page region content | |
JP2013058090A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US20170300305A1 (en) | Executable guidance experiences based on implicitly generated guidance models | |
CN100585561C (zh) | 在嵌入式系统剪裁可重定位的elf文件的方法 | |
CN113076167A (zh) | 一种代码处理方法及相关设备 | |
US20150113391A1 (en) | Document processing system, document processing method and storage medium | |
US9292522B2 (en) | Method and system for automating the editing of computer files | |
CN111695093A (zh) | 基于iOS应用的加固方法、电子装置及存储介质 | |
CN113986248A (zh) | 一种代码生成方法、装置、计算机设备及存储介质 | |
JP6524887B2 (ja) | 文字コード処理プログラム、情報処理装置、及び文字コード処理方法 | |
US9448975B2 (en) | Character data processing method, information processing method, and information processing apparatus | |
CN111273913B (zh) | 一种输出规范表示的应用程序接口数据的方法及装置 | |
CN106663020B (zh) | 迁移支持装置 | |
JP5207886B2 (ja) | 文書符号化装置、文書符号化方法 | |
CN106471743B (zh) | 普通ascii数据流的编码 | |
JP7247593B2 (ja) | 生成装置、ソフトウェアロボットシステム、生成方法及び生成プログラム | |
JPWO2005101210A1 (ja) | データ解析装置およびデータ解析プログラム | |
JP7083473B2 (ja) | 入力支援装置 | |
JP5674974B2 (ja) | 圧縮データ処理プログラム、圧縮データ編集プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190308 |
|
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: 20190409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190422 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6524887 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |