JPH08194601A - 可変長文字コードのコード変換フィルタリング方式 - Google Patents
可変長文字コードのコード変換フィルタリング方式Info
- Publication number
- JPH08194601A JPH08194601A JP479595A JP479595A JPH08194601A JP H08194601 A JPH08194601 A JP H08194601A JP 479595 A JP479595 A JP 479595A JP 479595 A JP479595 A JP 479595A JP H08194601 A JPH08194601 A JP H08194601A
- Authority
- JP
- Japan
- Prior art keywords
- code
- length
- matching
- character
- byte
- 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.)
- Granted
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
字コードのマッチングを行うことのできるコード変換フ
ィルタリング方式を実現すること。 【構成】 可変長の文字コードを入力とし、該入力され
た文字コードをコード長毎に異なるマッチングパターン
を用いてそのコード長を識別して別の文字コードに変換
する可変長文字コードのコード変換フィルタリング方式
であって、識別したコード長を示す状態を保持する記憶
手段と、入力された文字コードについて、前記記憶手段
に保持された状態が示すコード長のマッチングパターン
により次コードのマッチングを最初に行い、続いてコー
ド長が増加もしくは減少するコード長のマッチングパタ
ーンによるマッチングを順次行うコード判別手段を有す
る。
Description
る幾つかの文字コード、シフトJIS、EUC、7bi
tJIS等を相互に変換する場合のプログラムによって
実現されるフィルターの処理方式に関する。
ISコードに代表される可変長(この場合1〜2バイト
のコード体系をもつ)文字列において、文字コードを変
換をするためには、1バイト毎に文字コードを解析し、
コード長を決定する必要がある。
系では、英数文字、半角カナ、2バイトJISの3種類
のコードが混在しており、そのコードを判別するには以
下の判定方法が使用される。
ると、 1.0x81≦C1≦0x9f、または0xe0≦C1
≦0xfc(ここで、0xはヘキサデータであることを
示す) を満たす場合は2バイトのJISコードとして認識す
る。
文字と英数文字を識別する必要がある。この場合、 0xa1≦C1≦0xdf を満たす場合は1バイト半角カナ文字であると判断す
る。
イト英数文字と判断する。
タリング方式に基づいた変換装置の従来例の構成を示す
ブロック図である。
コード変換手段302より構成されるもので、コード判
別手段301は、連続して入力される入力データD11
のそれぞれについて上述した手法1〜3による判定を順
次行い、入力データD11を判定結果とともにコード変
換手段302へ出力する。コード変換手段302では該
判定結果に応じた変換処理を行うマッチング動作を、す
べての入力コードD11について順次行う。
コードのマッチングを1バイトずつ解祈する従来の方式
においては、入力データD11のそれぞれについて上述
した手法1〜3による判定を順次行い、その結果により
変換処理を行うため、演算処理時間が長くなってしま
う。
は同種類のコードが連続して入力されることが当然なが
ら多いが、従来方式によれば先の判定結果に関わらずに
判定が行われるため、例えば、1バイト英数文字のコー
ドが連続して入力される場合には、手法1〜3の各判定
動作を各コードに対してそれぞれ行うって変換を行うこ
ととなり、変換効率が非常に悪く、必要以上に演算処理
時間がかかるという問題点がある。
に、判定および変換処理をソフトウェアで実現する場合
には、CPUによる演算処理時間が長いものとなり、リ
アルタイムに変換する様なシステムでは時間がかかって
しまい、フィルター性能がシステムを構成するうえでの
ネックになってしまうという問題点があった。
る問題点に鑑みてなされたものであって、短い演算処理
時間で可変長の文字コードの文字コードのマッチングを
行うことのできるコード変換フィルタリング方式を実現
することを目的とする。
ドのコード変換フィルタリング方式は、可変長の文字コ
ードを入力とし、該入力された文字コードをコード長毎
に異なるマッチングパターンを用いてそのコード長を識
別して別の文字コードに変換する可変長文字コードのコ
ード変換フィルタリング方式であって、識別したコード
長を示す状態を保持する記憶手段と、入力された可変長
文字コードについて、前記記憶手段に保持された状態が
示すコード長であると推論してマッチングを行うコード
判別手段を有することを特徴とする。
入力された文字コードをコード長毎に異なるマッチング
パターンを用いてそのコード長を識別して別の文字コー
ドに変換する可変長文字コードのコード変換フィルタリ
ング方式であって、識別したコード長を示す状態を保持
する記憶手段と、入力された文字コードについて、前記
記憶手段に保持された状態が示すコード長のマッチング
パターンにより次コードのマッチングを最初に行い、続
いてコード長が増加もしくは減少するコード長のマッチ
ングパターンによるマッチングを順次行うコード判別手
段を有することを特徴とする。
変長のコード変換を行う際に、前回変換処理を行ったコ
ードの識別結果に基づいた変換処理がなされる。連続入
力されるコードはコード長が等しいものが連続的に続く
可能性が、コード系が異なるコードに変わる可能性より
も高いため、前回処理を行ったコードのコード長のマッ
チングパターンより次コードのマッチングを最初に行う
ことにより、一回のパターンマッチングでコードを判別
できる可能性も高いものとなる。
て説明する。
方式による変換フィルタの構成を示す機能ブロック図、
図2は図1に示したコード判別手段101にて行われる
コード判別手順を示すフローチャートである。
ード変換手段102および状態番号記憶手段103から
構成されている。コード判別手段101は、入力データ
がどのコード系に属するかを判断し、同時にコード長を
決定する。コード変換手段102は、コード判別手段1
01によって決定されたコード系に対する変換コード系
のコード変換を行って出力信号D3として外部へ出力す
る。状態番号記憶手段103は、コード判別手段101
によって判断されたコード系を記憶し、かつ、該記憶す
るコード系の種類を示す状態信号D2をコード判別手段
101へ出力するもので、コード判別手段101は状態
信号D2に応じて入力される入力データD1の判別を行
う。
ード判断を行うための入力情報として、変換されるべき
入力データを唯一の手掛かりとしていたのに対し、本実
施例では、コード判断用の状態信号D2と入力データD
1の2つの情報から文字コードを判別を行う点が特徴で
ある。
系によってN+1個の状態を持つ。ここでNは、そのコ
ード体系の中で存在し得るコード長の数とする。例とし
て、シフトJISコードをEUCコードに変換する場合
を想定する。
バイトを基本とするコード体系である。従って状態とし
ては以下の様に定義される、S0,S1,S2の3状態
が存在する。
であり、次コード判別を新たに必要とする状態をS0と
する。
イト文字コードである状態をS1とする(この例では、
特開昭64−19929号公報に開示されているコード
変換の機能ブロックを参照している)。
イト文字コードである状態をS2とする。
1バイトカナ、2バイトSJISに対してそれぞれ正規
表現で表したものを、sjis 1byte,sjis
2byteとする。また、それぞれの場合の変換処理
を関数f1(sjis 1byte),f2(sjis
2byte)とすると、 1.状態S0では、以下の式で表わされる1バイトカナ
に対する,1バイトカナ変換処理,2バイトSJISに
対する1バイトカナ変換処理を順に行い、マッチングを
とる。
s 1byte)/,s/sjis 1byte/f
2(sjis 2byte)/, 2.状態S1では、状態S0と同様に1バイト単位の変
換処理となるため、以下の式で表わされる1バイトカナ
に対する,1バイトカナ変換処理,2バイトSJISに
対する1バイトカナ変換処理を順に行い、マッチングを
とる。
s 1byte)/,s/sjis 1byte/f
2(sjis 2byte)/, 3.状態S2では、2バイト単位での変換処理となるた
め、以下の式で表わされる2バイトSJISに対する2
バイトSJIS変換処理,1バイトカナに対する1バイ
トカナ変換処理を順に行い、マッチングをとる。
s 2byte)/,s/sjis 1byte/f
1(sjis 1byte)/の順でマッチングをと
る。
態を再設定する。
フローチャートを参照して説明する。
が入力されると状態番号記憶手段103からの状態信号
D3により現在の変換データの種類を確認する(ステッ
プS201)。状態信号D3が、現在の状態がS0また
はS1を示す場合には、1バイトコードにマッチングす
るかを確認し(ステップS202)、マッチングする場
合には1バイトコード変換フィルタによる変換を行い
(ステップS203)、マッチングしない場合には2バ
イトコードにてマッチングすることを確認し(ステップ
S204)、この後、2バイトコード変換フィルタによ
る変換を行う(ステップS205)。また、現在の状態
がS2を示す場合には、2バイトコードにマッチングす
るかを確認し(ステップS206)、マッチングする場
合には2バイトコード変換フィルタによる変換を行い
(ステップS207)、マッチングしない場合には1バ
イトコードにてマッチングすることを確認し(ステップ
S208)、この後、1バイトコード変換フィルタによ
る変換を行う(ステップ209)。このように、該当す
ると推論されるコード長でのマッチングが先ず行われる
ので、処理が迅速になされる。
な文字コードシステムを想定した場合の方式について以
下に説明する。
列を変換する場合、N+1の状態遷移の定義は、 1.次コード判別を新たに必要とする状態をS0とす
る。
字コードである状態をS1とする。 3.現在処理中の文字コードが1バイト文字コードであ
る状態をSNとする。 ここで、Xは最大のコード長を示す。この様に、コード
長の大きなものから順に状態番号を適応する方式を採用
する。
優先順は、 1.各状態番号と同一のバイト長のマッチングパタン 2.1.の一つ小さな(または大きな)状態番号と同一
のバイト長のマッチングパタン 3.2.の一つ小さな(または大きな)状態番号と同一
のバイト長のマッチングパタン という方法により、循環規則に基づいたコードマッチン
グを行っていく。
は、S206にて行われるマッチングパターンの選択は
上記の循環規則により行われるので、連続して入力され
る同じコードについて変換を速やかに行うことができ
る。
別手段101と独立に設けられるものとして説明した
が、コード判別手段101内部に設けられるものとして
も当然よい。
文字コード列が違続して出現する場合、マッチングパタ
ンの処理ステップ数を最小限におさえる事が可能とな
り、高性能のコード変換フィルタを実現可能となる。
に着目した場合に、コード系が違続的に続く可能性がコ
ード系が異なるコード系に変わる可能性よりも低いこと
を利用し、効果を向上させている。
ロック図である。
動作を示すフローチャートである。
ある。
Claims (2)
- 【請求項1】 可変長の文字コードを入力とし、該入力
された文字コードをコード長毎に異なるマッチングパタ
ーンを用いてそのコード長を識別して別の文字コードに
変換する可変長文字コードのコード変換フィルタリング
方式であって、 識別したコード長を示す状態を保持する記憶手段と、 入力された可変長文字コードについて、前記記憶手段に
保持された状態が示すコード長であると推論してマッチ
ングを行うコード判別手段を有することを特徴とする可
変長文字コードのコード変換フィルタリング方式。 - 【請求項2】 可変長の文字コードを入力とし、該入力
された文字コードをコード長毎に異なるマッチングパタ
ーンを用いてそのコード長を識別して別の文字コードに
変換する可変長文字コードのコード変換フィルタリング
方式であって、 識別したコード長を示す状態を保持する記憶手段と、 入力された文字コードについて、前記記憶手段に保持さ
れた状態が示すコード長のマッチングパターンにより次
コードのマッチングを最初に行い、続いてコード長が増
加もしくは減少するコード長のマッチングパターンによ
るマッチングを順次行うコード判別手段を有することを
特徴とする可変長文字コードのコード変換フィルタリン
グ方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7004795A JP2685008B2 (ja) | 1995-01-17 | 1995-01-17 | 可変長文字コードのコード変換フィルタリング方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7004795A JP2685008B2 (ja) | 1995-01-17 | 1995-01-17 | 可変長文字コードのコード変換フィルタリング方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08194601A true JPH08194601A (ja) | 1996-07-30 |
JP2685008B2 JP2685008B2 (ja) | 1997-12-03 |
Family
ID=11593718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7004795A Expired - Fee Related JP2685008B2 (ja) | 1995-01-17 | 1995-01-17 | 可変長文字コードのコード変換フィルタリング方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2685008B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03212783A (ja) * | 1990-01-18 | 1991-09-18 | Ricoh Co Ltd | マッチング方式 |
JPH0478924A (ja) * | 1990-07-20 | 1992-03-12 | Nec Corp | 文字コードデータ制御方式 |
-
1995
- 1995-01-17 JP JP7004795A patent/JP2685008B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03212783A (ja) * | 1990-01-18 | 1991-09-18 | Ricoh Co Ltd | マッチング方式 |
JPH0478924A (ja) * | 1990-07-20 | 1992-03-12 | Nec Corp | 文字コードデータ制御方式 |
Also Published As
Publication number | Publication date |
---|---|
JP2685008B2 (ja) | 1997-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7240048B2 (en) | System and method of parallel pattern matching | |
JP4555088B2 (ja) | データ内のパターンの高速文脈サーチ及び特徴付けを実行するためのプログラム可能な規則処理装置 | |
JP3009727B2 (ja) | 改良形データ圧縮装置 | |
WO2004079571A2 (en) | Hardware accelerator state table compiler | |
CN101095284A (zh) | 用于有选择地压缩和解压缩的设备与数据方法以及压缩数据的数据格式 | |
JP2000132497A (ja) | Dma制御方法及び装置 | |
US8947272B2 (en) | Decoding encoded data | |
US20070146173A1 (en) | Coding apparatus, decoding apparatus, coding method, decoding method and program | |
JP2685008B2 (ja) | 可変長文字コードのコード変換フィルタリング方式 | |
CN100361128C (zh) | 一种用于文本或网络内容分析的多关键词匹配方法 | |
JP5549177B2 (ja) | 圧縮プログラム、方法及び装置、並びに解凍プログラム、方法及び装置 | |
CN106790109B (zh) | 数据匹配方法和装置、协议数据分析方法、装置和系统 | |
Searls | Formal grammars for intermolecular structure | |
JPH06290021A (ja) | ソースプログラム圧縮方法 | |
EP3798884A1 (en) | Malicious file detection method, apparatus and device, and computer-readable storage medium | |
JP3210183B2 (ja) | データ圧縮方法及び装置 | |
JP2007102744A (ja) | マルチバイト文字セット用正規表現コンパイラ構成方法及びプログラム | |
US20050117627A1 (en) | Method for the determination of a maximum or a minimum | |
JPH0440554A (ja) | 文字データ処理装置 | |
JPH07160512A (ja) | コンパイル方式 | |
JPH04241621A (ja) | 混在データ取り扱い方式 | |
JPH0338772A (ja) | 文字コードデータの圧縮方式 | |
JP2005275880A (ja) | 字句をデータに変換する装置、方法及びプログラム | |
JPS63197121A (ja) | 復号器 | |
JPH05165601A (ja) | 文字データ処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070815 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080815 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080815 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090815 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090815 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100815 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |