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
Application number
JP479595A
Other languages
English (en)
Other versions
JP2685008B2 (ja
Inventor
Shinji Ago
真治 吾郷
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7004795A priority Critical patent/JP2685008B2/ja
Publication of JPH08194601A publication Critical patent/JPH08194601A/ja
Application granted granted Critical
Publication of JP2685008B2 publication Critical patent/JP2685008B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【目的】 短い演算処理時間で可変長の文字コードの文
字コードのマッチングを行うことのできるコード変換フ
ィルタリング方式を実現すること。 【構成】 可変長の文字コードを入力とし、該入力され
た文字コードをコード長毎に異なるマッチングパターン
を用いてそのコード長を識別して別の文字コードに変換
する可変長文字コードのコード変換フィルタリング方式
であって、識別したコード長を示す状態を保持する記憶
手段と、入力された文字コードについて、前記記憶手段
に保持された状態が示すコード長のマッチングパターン
により次コードのマッチングを最初に行い、続いてコー
ド長が増加もしくは減少するコード長のマッチングパタ
ーンによるマッチングを順次行うコード判別手段を有す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、汎用的に用いられてい
る幾つかの文字コード、シフトJIS、EUC、7bi
tJIS等を相互に変換する場合のプログラムによって
実現されるフィルターの処理方式に関する。
【0002】
【従来の技術】従来、日本語の半角カナ混じりシフトJ
ISコードに代表される可変長(この場合1〜2バイト
のコード体系をもつ)文字列において、文字コードを変
換をするためには、1バイト毎に文字コードを解析し、
コード長を決定する必要がある。
【0003】例えば、半角を含むシフトJISコード体
系では、英数文字、半角カナ、2バイトJISの3種類
のコードが混在しており、そのコードを判別するには以
下の判定方法が使用される。
【0004】上位バイトをC1、下位バイトをC2とす
ると、 1.0x81≦C1≦0x9f、または0xe0≦C1
≦0xfc(ここで、0xはヘキサデータであることを
示す) を満たす場合は2バイトのJISコードとして認識す
る。
【0005】2.1の条件でない場合、さらに半角カナ
文字と英数文字を識別する必要がある。この場合、 0xa1≦C1≦0xdf を満たす場合は1バイト半角カナ文字であると判断す
る。
【0006】3.上記2の条件を満足しない場合に1バ
イト英数文字と判断する。
【0007】図3は上記のような判定方法によるフィル
タリング方式に基づいた変換装置の従来例の構成を示す
ブロック図である。
【0008】本従来例はコード長判別手段301および
コード変換手段302より構成されるもので、コード判
別手段301は、連続して入力される入力データD11
のそれぞれについて上述した手法1〜3による判定を順
次行い、入力データD11を判定結果とともにコード変
換手段302へ出力する。コード変換手段302では該
判定結果に応じた変換処理を行うマッチング動作を、す
べての入力コードD11について順次行う。
【0009】
【発明が解決しようとする課題】上述した可変長の文字
コードのマッチングを1バイトずつ解祈する従来の方式
においては、入力データD11のそれぞれについて上述
した手法1〜3による判定を順次行い、その結果により
変換処理を行うため、演算処理時間が長くなってしま
う。
【0010】入力されるデータは、文字コードの場合に
は同種類のコードが連続して入力されることが当然なが
ら多いが、従来方式によれば先の判定結果に関わらずに
判定が行われるため、例えば、1バイト英数文字のコー
ドが連続して入力される場合には、手法1〜3の各判定
動作を各コードに対してそれぞれ行うって変換を行うこ
ととなり、変換効率が非常に悪く、必要以上に演算処理
時間がかかるという問題点がある。
【0011】演算処理時間が長くなることにより、特
に、判定および変換処理をソフトウェアで実現する場合
には、CPUによる演算処理時間が長いものとなり、リ
アルタイムに変換する様なシステムでは時間がかかって
しまい、フィルター性能がシステムを構成するうえでの
ネックになってしまうという問題点があった。
【0012】本発明は上述したような従来の技術が有す
る問題点に鑑みてなされたものであって、短い演算処理
時間で可変長の文字コードの文字コードのマッチングを
行うことのできるコード変換フィルタリング方式を実現
することを目的とする。
【0013】
【課題を解決するための手段】本発明の可変長文字コー
ドのコード変換フィルタリング方式は、可変長の文字コ
ードを入力とし、該入力された文字コードをコード長毎
に異なるマッチングパターンを用いてそのコード長を識
別して別の文字コードに変換する可変長文字コードのコ
ード変換フィルタリング方式であって、識別したコード
長を示す状態を保持する記憶手段と、入力された可変長
文字コードについて、前記記憶手段に保持された状態が
示すコード長であると推論してマッチングを行うコード
判別手段を有することを特徴とする。
【0014】また、可変長の文字コードを入力とし、該
入力された文字コードをコード長毎に異なるマッチング
パターンを用いてそのコード長を識別して別の文字コー
ドに変換する可変長文字コードのコード変換フィルタリ
ング方式であって、識別したコード長を示す状態を保持
する記憶手段と、入力された文字コードについて、前記
記憶手段に保持された状態が示すコード長のマッチング
パターンにより次コードのマッチングを最初に行い、続
いてコード長が増加もしくは減少するコード長のマッチ
ングパターンによるマッチングを順次行うコード判別手
段を有することを特徴とする。
【0015】
【作用】上記のように構成される本発明においては、可
変長のコード変換を行う際に、前回変換処理を行ったコ
ードの識別結果に基づいた変換処理がなされる。連続入
力されるコードはコード長が等しいものが連続的に続く
可能性が、コード系が異なるコードに変わる可能性より
も高いため、前回処理を行ったコードのコード長のマッ
チングパターンより次コードのマッチングを最初に行う
ことにより、一回のパターンマッチングでコードを判別
できる可能性も高いものとなる。
【0016】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0017】図1は本発明のコード変換フィルタリング
方式による変換フィルタの構成を示す機能ブロック図、
図2は図1に示したコード判別手段101にて行われる
コード判別手順を示すフローチャートである。
【0018】本実施例は、コード判別手段101と、コ
ード変換手段102および状態番号記憶手段103から
構成されている。コード判別手段101は、入力データ
がどのコード系に属するかを判断し、同時にコード長を
決定する。コード変換手段102は、コード判別手段1
01によって決定されたコード系に対する変換コード系
のコード変換を行って出力信号D3として外部へ出力す
る。状態番号記憶手段103は、コード判別手段101
によって判断されたコード系を記憶し、かつ、該記憶す
るコード系の種類を示す状態信号D2をコード判別手段
101へ出力するもので、コード判別手段101は状態
信号D2に応じて入力される入力データD1の判別を行
う。
【0019】図3に示した従来の変換方式では、文字コ
ード判断を行うための入力情報として、変換されるべき
入力データを唯一の手掛かりとしていたのに対し、本実
施例では、コード判断用の状態信号D2と入力データD
1の2つの情報から文字コードを判別を行う点が特徴で
ある。
【0020】コード変換システムは、扱う文字コード体
系によってN+1個の状態を持つ。ここでNは、そのコ
ード体系の中で存在し得るコード長の数とする。例とし
て、シフトJISコードをEUCコードに変換する場合
を想定する。
【0021】シフトJISコードは1バイトあるいは2
バイトを基本とするコード体系である。従って状態とし
ては以下の様に定義される、S0,S1,S2の3状態
が存在する。
【0022】状態S0:変換処理を開始するときの状態
であり、次コード判別を新たに必要とする状態をS0と
する。
【0023】状態S1:現在処理中の文字コードが2バ
イト文字コードである状態をS1とする(この例では、
特開昭64−19929号公報に開示されているコード
変換の機能ブロックを参照している)。
【0024】状態S2:現在処理中の文字コードが1バ
イト文字コードである状態をS2とする。
【0025】コード長判断のためのマッチングパタンを
1バイトカナ、2バイトSJISに対してそれぞれ正規
表現で表したものを、sjis 1byte,sjis
2byteとする。また、それぞれの場合の変換処理
を関数f1(sjis 1byte),f2(sjis
2byte)とすると、 1.状態S0では、以下の式で表わされる1バイトカナ
に対する,1バイトカナ変換処理,2バイトSJISに
対する1バイトカナ変換処理を順に行い、マッチングを
とる。
【0026】s/sjis 1byte/f1(sji
1byte)/,s/sjis 1byte/f
2(sjis 2byte)/, 2.状態S1では、状態S0と同様に1バイト単位の変
換処理となるため、以下の式で表わされる1バイトカナ
に対する,1バイトカナ変換処理,2バイトSJISに
対する1バイトカナ変換処理を順に行い、マッチングを
とる。
【0027】s/sjis 1byte/f1(sji
1byte)/,s/sjis 1byte/f
2(sjis 2byte)/, 3.状態S2では、2バイト単位での変換処理となるた
め、以下の式で表わされる2バイトSJISに対する2
バイトSJIS変換処理,1バイトカナに対する1バイ
トカナ変換処理を順に行い、マッチングをとる。
【0028】s/sjis 2byte/f2(sji
2byte)/,s/sjis 1byte/f
1(sjis 1byte)/の順でマッチングをと
る。
【0029】4.現コードの文字コード判別確定後、状
態を再設定する。
【0030】上述した本実施例の動作について、図2の
フローチャートを参照して説明する。
【0031】コード判別手段101は、入力データD1
が入力されると状態番号記憶手段103からの状態信号
D3により現在の変換データの種類を確認する(ステッ
プS201)。状態信号D3が、現在の状態がS0また
はS1を示す場合には、1バイトコードにマッチングす
るかを確認し(ステップS202)、マッチングする場
合には1バイトコード変換フィルタによる変換を行い
(ステップS203)、マッチングしない場合には2バ
イトコードにてマッチングすることを確認し(ステップ
S204)、この後、2バイトコード変換フィルタによ
る変換を行う(ステップS205)。また、現在の状態
がS2を示す場合には、2バイトコードにマッチングす
るかを確認し(ステップS206)、マッチングする場
合には2バイトコード変換フィルタによる変換を行い
(ステップS207)、マッチングしない場合には1バ
イトコードにてマッチングすることを確認し(ステップ
S208)、この後、1バイトコード変換フィルタによ
る変換を行う(ステップ209)。このように、該当す
ると推論されるコード長でのマッチングが先ず行われる
ので、処理が迅速になされる。
【0032】ここで、本実施例によるシステムを一般的
な文字コードシステムを想定した場合の方式について以
下に説明する。
【0033】まず、一般的にN個のコード長を含む文字
列を変換する場合、N+1の状態遷移の定義は、 1.次コード判別を新たに必要とする状態をS0とす
る。
【0034】2.現在処理中の文字コードがXバイト文
字コードである状態をS1とする。 3.現在処理中の文字コードが1バイト文字コードであ
る状態をSNとする。 ここで、Xは最大のコード長を示す。この様に、コード
長の大きなものから順に状態番号を適応する方式を採用
する。
【0035】さらに、各状態番号とマッチングパタンの
優先順は、 1.各状態番号と同一のバイト長のマッチングパタン 2.1.の一つ小さな(または大きな)状態番号と同一
のバイト長のマッチングパタン 3.2.の一つ小さな(または大きな)状態番号と同一
のバイト長のマッチングパタン という方法により、循環規則に基づいたコードマッチン
グを行っていく。
【0036】本実施例におけるステップS202、また
は、S206にて行われるマッチングパターンの選択は
上記の循環規則により行われるので、連続して入力され
る同じコードについて変換を速やかに行うことができ
る。
【0037】なお、状態番号記憶手段103はコード判
別手段101と独立に設けられるものとして説明した
が、コード判別手段101内部に設けられるものとして
も当然よい。
【0038】
【発明の効果】本方式の採用により、コード長が同一の
文字コード列が違続して出現する場合、マッチングパタ
ンの処理ステップ数を最小限におさえる事が可能とな
り、高性能のコード変換フィルタを実現可能となる。
【0039】これは、単語に見られる様に1文字コード
に着目した場合に、コード系が違続的に続く可能性がコ
ード系が異なるコード系に変わる可能性よりも低いこと
を利用し、効果を向上させている。
【図面の簡単な説明】
【図1】本発明を利用した変換フィルタの構成を示すブ
ロック図である。
【図2】図1に示した実施例におけるコード判別手段の
動作を示すフローチャートである。
【図3】従来の変換フィルタの構成を示すブロック図で
ある。
【符号の説明】
101 コード判別手段 102 コード変換手段 103 状態番号記憶手段 D1 入力データ D2 状態信号 D3 出力信号 S201〜S209 ステップ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 可変長の文字コードを入力とし、該入力
    された文字コードをコード長毎に異なるマッチングパタ
    ーンを用いてそのコード長を識別して別の文字コードに
    変換する可変長文字コードのコード変換フィルタリング
    方式であって、 識別したコード長を示す状態を保持する記憶手段と、 入力された可変長文字コードについて、前記記憶手段に
    保持された状態が示すコード長であると推論してマッチ
    ングを行うコード判別手段を有することを特徴とする可
    変長文字コードのコード変換フィルタリング方式。
  2. 【請求項2】 可変長の文字コードを入力とし、該入力
    された文字コードをコード長毎に異なるマッチングパタ
    ーンを用いてそのコード長を識別して別の文字コードに
    変換する可変長文字コードのコード変換フィルタリング
    方式であって、 識別したコード長を示す状態を保持する記憶手段と、 入力された文字コードについて、前記記憶手段に保持さ
    れた状態が示すコード長のマッチングパターンにより次
    コードのマッチングを最初に行い、続いてコード長が増
    加もしくは減少するコード長のマッチングパターンによ
    るマッチングを順次行うコード判別手段を有することを
    特徴とする可変長文字コードのコード変換フィルタリン
    グ方式。
JP7004795A 1995-01-17 1995-01-17 可変長文字コードのコード変換フィルタリング方式 Expired - Fee Related JP2685008B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 文字コードデータ制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
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