DE60131490T2 - Method for converting UNICODE text into mixed codepages - Google Patents
Method for converting UNICODE text into mixed codepages Download PDFInfo
- Publication number
- DE60131490T2 DE60131490T2 DE2001631490 DE60131490T DE60131490T2 DE 60131490 T2 DE60131490 T2 DE 60131490T2 DE 2001631490 DE2001631490 DE 2001631490 DE 60131490 T DE60131490 T DE 60131490T DE 60131490 T2 DE60131490 T2 DE 60131490T2
- Authority
- DE
- Germany
- Prior art keywords
- code
- character
- sub
- characters
- page
- 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 - Lifetime
Links
Landscapes
- Document Processing Apparatus (AREA)
Description
1. HINTERGRUND DER ERFINDUNG1. BACKGROUND OF THE INVENTION
1.1. GEBIET DER ERFINDUNG1.1. FIELD OF THE INVENTION
Die vorliegende Erfindung betrifft eine Methode und ein System zur Konvertierung zwischen Zeichencodes, die computerlesbaren Zeichen zugeordnet sind. Insbesondere betrifft sie eine Methode und ein System zur Konvertierung einer Quellzeichenfolge, die nach dem UNICODE-Standard codiert ist, in eine Zielzeichenfolge, die nach gemischten Codepages codiert werden soll.The The present invention relates to a method and system for conversion between character codes associated with computer readable characters. In particular, it relates to a method and system for conversion a source string encoded according to the UNICODE standard, into a target string that encodes mixed codepages shall be.
1.2. AUFGABEN DER ERFINDUNG1.2. OBJECTS OF THE INVENTION
Computer und andere elektronische Geräte verwenden üblicherweise Text zur Interaktion mit Benutzern. Der Text wird normalerweise auf einem Monitor oder einer anderen Art von Bildschirm angezeigt. Da der Text innerhalb des Computers oder eines anderen elektronischen Geräts in digitaler Form dargestellt werden muss, muss eine Zeichensatzcodierung verwendet werden. Allgemein dient eine Zeichensatzcodierung zur Codierung jedes Zeichens des Zeichensatzes mit einer eindeutigen digitalen Darstellung. Die Zeichen (die codiert sind) entsprechen Buchstaben, Ziffern und verschiedenen Textsymbolen. Es handelt sich bei ihnen um zugewiesene numerische Codes zur Verwendung durch Computer oder andere elektronische Geräte. Der am weitesten verbreitete Zeichensatz zur Verwendung in Computern und anderen elektronischen Geräten ist der American Standard Code for Information Interchange (ASCII). ASCII verwendet für seine Codierungen 7-Bit-Folgen. In anderen Ländern werden andere Zeichensätze verwendet. In Europa sind die vorherrschenden Codierungsstandards die Normenfamilie ISO 8859-X, insbesondere ISO 8859-1 („Latin-1” genannt), die von der Internationalen Organisation für Normung (International Standards Organization, ISO) entwickelt wurde. In Japan ist der vorherrschende Zeichencodierungsstandard JIS X0208, wobei JIS für den japanischen Industrie-Standard für Informationsverarbeitung (Japanese Information Standard) steht und dieser von der japanischen Normungsorganisation (Japan Standards Association, JSA) entwickelt wurde. Beispiele weiterer existierender Zeichensätze sind die Codierung MacTM OS Standard Roman (von Apple Computer, Inc.), Shift-JIS (Japan), Big5 (Taiwan) und viele andere mehr.Computers and other electronic devices typically use text to interact with users. The text is usually displayed on a monitor or other type of screen. Since the text must be rendered in digital form within the computer or other electronic device, character set encoding must be used. In general, a font encoding is used to encode each character of the font with a unique digital representation. The characters (which are encoded) correspond to letters, numbers and different text symbols. They are assigned numerical codes for use by computers or other electronic devices. The most common character set for use in computers and other electronic devices is the American Standard Code for Information Interchange (ASCII). ASCII uses 7-bit sequences for its encodings. In other countries, different character sets are used. In Europe, the prevailing coding standards are the ISO 8859-X family of standards, especially ISO 8859-1 (called "Latin-1"), developed by the International Standards Organization (ISO). In Japan, the predominant character encoding standard is JIS X0208, JIS being the Japanese Information Standard (JIS) developed by the Japan Standards Association (JSA). Examples of other existing fonts are Mac ™ OS Standard Roman (by Apple Computer, Inc.), Shift-JIS (Japan), Big5 (Taiwan) and many more.
Die oben erwähnten Zeichensätze sind in einer so genannten Codepage gespeichert, bei der es sich um eine Art Tabelle handelt, die die Codierung jedes einzelnen Zeichens aufzeigt und aus den Zeichensätzen besteht. Somit ist für jedes Zeichen sein ihm zugeordneter numerischer Code solcherart angegeben, dass zwischen diesen beiden eine eindeutige Zuordnung existiert. Die meisten Codepages ordnen jedem Zeichen einen numerischen Code mit einer Länge von einem Byte zu. Es gibt jedoch auch Codepages mit einem numerischen Code von mehr als einem Byte Länge, zum Beispiel mit zwei Byte oder drei Byte Länge. Codepages, die Zeichen umfassen, welche alle dieselbe Codelänge aufweisen, werden als einfache Codepages bezeichnet.The mentioned above fonts are stored in a so-called code page, which is itself is a kind of table that represents the coding of each character and from the character sets consists. Thus, for each character has its associated numerical code of that kind indicated that between these two a unique association exist. Most codepages assign each character a numeric Code with a length from one byte too. However, there are also code pages with a numeric Code of more than one byte in length, for example with two bytes or three bytes in length. Code pages, the characters which all have the same code length are considered simple Code pages.
Um der Komplexität der einzelnen, sprachspezifischen, nationalen Erfordernisse besser Rechnung zu tragen, existieren auch so genannte gemischte Codepages. Eine gemischte Codepage umfasst mindestens zwei Teil-Codepages, deren Codierung sich in der Länge unterscheiden kann. Diese Teil-Codepages werden ebenfalls als Codesätze bezeichnet. Sie werden mit 0 bis zu 3 nummeriert. Die japanische gemischte Codepage IBM-33722 beispielsweise umfasst die Codesätze IBM-895 (1 Byte, Codesatz 0), IBM-952 (2 Byte, Codesatz 1), Codepage IBM-896 (Escape 8E + 1 Byte, Codesatz 2) und IBM-953 (Escape 8F + 2 Byte, Codesatz 3).Around the complexity individual, language-specific, national needs better To take into account, there are also so-called mixed codepages. A mixed code page contains at least two subcode pages, their coding is in length can differentiate. These subcode pages are also called code sets. They are numbered 0 to 3. The Japanese mixed code page IBM-33722, for example, includes the IBM 895 code sets (1 byte, code set 0), IBM-952 (2 bytes, code set 1), code page IBM-896 (Escape 8E + 1 byte, code set 2) and IBM-953 (escape 8F + 2 bytes, code set 3).
Angesichts des ständig zunehmenden Prozesses der Globalisierung des Wirtschaftslebens und der Netzwerke und angesichts des weiter zunehmenden Einflusses des Internets, das praktisch alle Länder auf der ganzen Welt verbindet, muss jegliche Konvertierung von Daten zwischen Computern, die unterschiedliche Arten von Codepages verwenden, so schnell wie möglich und – wahlweise so einfach wie möglich – erfolgen.in view of of the constantly increasing process of globalization of economic life and the Networks and given the ever-increasing influence of the Internet, practically all countries Connects around the world, needs any conversion of data between computers that use different types of code pages, so as soon as possible and optionally as easy as possible - done.
Um die Codekonvertierungen zu vereinfachen, wurde der so genannte UNICODE-Standard entwickelt und ist zwischenzeitlich international anerkannt. UNICODE bietet ein einziges System zur Darstellung aller existierenden Codesätze. Der Aufbau des UNICODE-Codiersystems ist, abgesehen von der Direktionalität, unabhängig vom Aufbau grundlegender Textverarbeitungsalgorithmen. Es wird davon ausgegangen, dass UNICODE-Implementierungen geeignete Textverarbeitungs- und/oder Wiedergabealgorithmen enthalten. Jedes nach dem UNICODE-Standard codierte Zeichen wird durch einen 2 Byte langen numerischen Code dargestellt.Around To simplify the code conversions, the so-called UNICODE standard has been developed and is now internationally recognized. UNICODE offers a single system for representing all existing code sets. Of the Structure of the UNICODE coding system is, apart from the directionality, independent of Structure of basic word processing algorithms. It is assumed, that UNICODE implementations have appropriate word processing and / or Include playback algorithms. Each according to the UNICODE standard coded characters are represented by a 2-byte numeric code shown.
Das Problem besteht nun darin, einen sehr effizienten Weg zur Konvertierung vom UNICODE-Standard in die oben erwähnten gemischten Codepages zu finden, d. h. es ist eine Quellzeichenfolge gegeben, die mit dem UNICODE-Standard dargestellt ist und auf sehr einfache und schnelle Weise in ein Codesystem konvertiert werden soll, das eine Vielzahl von Codepages umfasst, zum Beispiel eine Vielzahl von vier, wie es oben erwähnt wurde.The The problem now is a very efficient way to convert from the UNICODE standard to the above-mentioned mixed code pages to find, d. H. there is a source string given with the UNICODE standard and is very simple and fast Way into a code system that is supposed to be a multitude of code pages, for example, a variety of four, such as mentioned above has been.
Eine
Konvertierungsmethode von UNICODE in mehrfache Codepages nach dem
Stand der Technik ist in der
Dieser Ansatz nach dem Stand der Technik verwendet jedoch eine zusätzliche Suchtabelle, die das System langsamer und komplizierter als nötig macht.This However, the prior art approach uses an additional one Lookup table that makes the system slower and more complicated than necessary.
1.3. ZIEL DER ERFINDUNG1.3. OBJECT OF THE INVENTION
Es ist somit eine Aufgabe der vorliegenden Erfindung, eine Methode und ein System zur Codekonvertierung von UNICODE-Text in gemischte Codepages bereitzustellen, die mit einer besseren Leistung ausgeführt werden können.It Thus, an object of the present invention is a method and a system for code conversion of UNICODE text into mixed Provide code pages that perform better can.
2. ÜBERBLICK ÜBER DIE ERFINDUNG UND IHRE VORTEILE2. OVERVIEW OF THE INVENTION AND ITS ADVANTAGES
Diese Aufgaben der Erfindung werden mit den Merkmalen gelöst, die in den beigefügten Hauptansprüchen beschrieben sind. Weitere vorteilhafte Anordnungen und Ausführungsarten der Erfindung sind in den entsprechenden Unteransprüchen dargelegt.These Objects of the invention are achieved with the features that in the appended main claims are. Further advantageous arrangements and embodiments of the invention are set forth in the corresponding subclaims.
Im kurzen Überblick über die grundlegenden Konzepte der vorliegenden Erfindung wird beabsichtigt, jeder Teil-Codepage eine festgelegte Priorität zuzuordnen und die Zeichen streng nach dieser Prioritätenreihenfolge zu konvertieren, ohne eine Zuordnungstabelle zu verwenden, um festzustellen, in welcher der Vielzahl von Teil-Codepages das Zielzeichen und seine Codierung gespeichert ist. Vorteilhafterweise wird der Teil-Codepage, die die am häufigsten verwendeten Zeichen umfasst, die höchste Priorität zugeordnet, und der Teil-Codepage mit den am seltensten verwendeten Zeichen wird die niedrigste Priorität zugeordnet. Somit kann im Falle von vier Teil-Codepages eine Prioritätenreihenfolge zwischen den Teil-Codepages aufgestellt werden. Jede Priorität ist ein Maß für die Wahrscheinlichkeit, ein bestimmtes Zeichen in der entsprechenden Teil-Codepage zu finden.in the short overview of the basic concepts of the present invention is intended assign a fixed priority to each sub-code page and the characters strictly according to this priority order without using a mapping table to determine in which of the plurality of sub-code pages the destination character and its Coding is stored. Advantageously, the sub-code page, the most common used characters, the highest priority assigned, and the partial codepage with the least commonly used characters becomes the lowest priority assigned. Thus, in the case of four sub-code pages, a priority order between the partial code pages. Every priority is one Measure of the probability to find a specific character in the corresponding sub-code page.
Neben diesem grundsätzlichen Ansatz wird weiter für den Fall, dass ein Zeichen nicht in einer bestimmten Teil-Codepage gefunden wurde, beabsichtigt, auf die Teil-Codepage mit der höchsten Priorität zuzugreifen, auf die für dieses Zeichen noch nicht zugegriffen wurde.Next this fundamental Approach will continue for the case that a character is not in a particular sub-code page has been found, intends to access the highest priority subcode page, on the for this character has not been accessed yet.
Die
Anwendung der oben erwähnten
erfindungsgemäßen Maßnahmen
ergibt die folgenden Vorteile:
Erstens wird die Leistung im
Vergleich zu der oben erwähnten
Konvertierungsmethode nach dem Stand der Technik deutlich erhöht, da es
keine separate Zuordnungstabelle gibt, auf die jedes Mal zugegriffen werden
muss, wenn ein Zeichen in der aktuell verwendeten Teil-Codepage
nicht gefunden wird.The application of the above mentioned inventive measures gives the following advantages:
First, performance is significantly increased as compared to the prior art conversion method mentioned above, since there is no separate mapping table that must be accessed each time a character is not found in the currently used sub-code page.
Zweitens muss die zusätzliche Zuordnungstabelle gar nicht erst erstellt werden. Dies spart viel Arbeit.Secondly needs the extra Mapping table not even created. This saves a lot of work.
Drittens kann die Prioritätenreihenfolge, die der Vielzahl von Teil-Codepages verliehen wird, solcherart aufgestellt werden, dass länderspezifisches Wissen über die Sprache ausgenutzt wird. Auf diese Weise kann die erfindungsgemäße Konvertierungsmethode problemlos an die Besonderheiten angepasst werden, die von einem bestimmten länderspezifischen Codepagesystem auferlegt werden.thirdly can the priority order, which is lent to the plurality of sub-code pages, thus set up be that country specific knowledge of the Language is exploited. In this way, the conversion method according to the invention easily adapted to the specifics of a certain country-specific Code page system imposed.
Je nach einem betreffenden individuellen Fall kann die oben erwähnte Prioritätenreihenfolge vor der Ausführung der Codekonvertierung alternativ auch dynamisch von einer Standard- zu einer individuellen Einstellung geändert werden, um die erfindungsgemäße Codekonvertierungsmethode an spezifische Anforderungen anzupassen, die von einem spezifischen, zu konvertierenden Text gestellt werden, wenn im Vorhinein bekannt ist, dass der Text nicht repräsentativ für den Durchschnitt ist. Die neue Prioritätenreihenfolge kann beispielsweise im Header der zu konvertierenden Datei angegeben werden.ever after a particular individual case, the above-mentioned order of priority may be required the execution the code conversion alternatively also dynamically from a standard to an individual Setting changed become the code conversion method according to the invention to adapt to specific requirements, which depend on a specific to be converted text, if known in advance is that the text is not representative for the Average is. For example, the new priority order in the header of the file to be converted.
Ein weiterer deutlicher Vorteil der erfindungsgemäßen Methode besteht darin, dass sie ein Konzept bietet, das für die Ausnutzung des spezifischen Vorteils moderner Computersysteme offen ist, der darin besteht, dass Hardware-Befehlssätze verwendet werden können, die jeweils eine Vielzahl von Zeichen statt nur eines Zeichens verarbeiten. Solche modernen Hardware-Befehlssätze benötigen eine lineare Tabelle für die Suche nach den Zielzeichen ohne einen zusätzlichen Prüfzugriff auf eine wie auch immer geartete Zuordnungstabelle.Another distinct advantage of the method of the invention is that it provides a concept that is open to exploiting the specific advantage of modern computer systems, which is that hardware instruction sets can be used, each having a plurality of characters rather than just one character to process. Such modern hardware instruction sets require a linear table to search for the target characters without any additional checking access to any kind of allocation table.
Die vorliegende Erfindung kann vorteilhafterweise mit dem Internet verwendet werden, wenn eine Codekonvertierung erforderlich ist. Ferner kann das erfindungsgemäße Tool in eine Datenbankanwendung integriert werden, wenn die Konvertierung einiger Inhalte dieser Datenbank von einem UNICODE-Text in gemischte Codepages wahrscheinlich ist.The The present invention can be advantageously used with the Internet when code conversion is required. Furthermore, can the tool according to the invention be integrated into a database application when the conversion Some contents of this database are mixed by a UNICODE text in mixed Code pages is likely.
Wird die erfindungsgemäße Methode in einem Fall angewandt, in dem die Wahrscheinlichkeit, ein bestimmtes Zeichen in einer der Vielzahl von Teil-Codepages zu finden, für alle Teil-Codepages gleich hoch ist, so ist bei Vorhandensein von 4 Teil-Codepages ein statistischer Mittelwert von nur 2 zusätzlichen Zugriffen erforderlich. Dieser Wert sinkt auf 1,5 bei 3 Teil-Codepages und auf 1 im Fall von zwei Teil-Codepages. In einem Fall mit japanischen EUC-Tabellen, in denen 70% aller Zeichen im Codesatz 1 gefunden werden, 30% im Codesatz 0 und weniger als 1% in den übrigen Codesätzen 2 und 3, beträgt der statistische Mittelwert etwas mehr als 1.Becomes the method of the invention applied in a case where the probability of a given Finding characters in one of the multitude of subcode pages is the same for all subcode pages is high, then in the presence of 4 sub-code pages is a statistical Mean of only 2 additional ones Access required. This value drops to 1.5 at 3 sub-code pages and 1 in the case of two sub-code pages. In one case with Japanese EUC tables, where 70% of all characters are found in code set 1, 30% in Code set 0 and less than 1% in the remaining code sets 2 and 3, is the statistical mean just over 1.
Darüber hinaus kann die vorliegende Erfindung vorteilhafterweise mindestens teilweise in eine Hardware-Implementierung integriert werden, die direkt in einen Hardware-Chip eingebrannt ist. Solche Chipmittel umfassen dann Hardware-Schaltkreise, die mindestens Teile der Schritte der erfindungsgemäßen Codekonvertierungsmethode implementieren und widerspiegeln. In Anbetracht der ständig zunehmenden Vielfalt von Telekommunikationsgeräten und ihrer ständig zunehmenden Funktionsbandbreite mit mehr und mehr technischen Merkmalen kann dann ein solcher Chip in einer großen Vielfalt von Geräten verwendet werden. Angesichts der heute verfügbaren Geräte kann ein solcher Chip vorteilhafterweise in jedem Gerät verwendet werden, das Teil eines internationalen Kommunikationssystems ist, zum Beispiel in Routern in jeder Art von Netzwerk, z. B. dem Internet, in Set-Top-Boxen für Fernseher oder Radioempfangsgeräte, insbesondere für digitales Fernsehen und digitalen Hörfunk, in Mobiltelefonen, in jeder Art von Computer- oder Telekommunikationshandgerät oder in jedem anderen Gerät mit einer Eingabeschnittstelle zum Verarbeiten von fremdsprachlichen Daten.Furthermore The present invention may advantageously be at least partially be integrated into a hardware implementation directly in a hardware chip is branded. Such chip means include then hardware circuits that at least parts of the steps of the Code conversion method according to the invention implement and reflect. In view of the ever-increasing Variety of telecommunication devices and their ever increasing Functional bandwidth with more and more technical features can then such a chip is used in a wide variety of devices become. In view of the devices available today, such a chip can advantageously be used in every device be used as part of an international communication system is, for example, in routers in any type of network, eg. The internet, in set-top boxes for Television or radio receivers, especially for digital television and digital radio, in mobile phones, in any kind of computer or Telecommunication handset or in any other device with an input interface for processing foreign language data.
3. KURZBESCHREIBUNG DER ZEICHNUNGEN3. BRIEF DESCRIPTION OF THE DRAWINGS
Die vorliegende Erfindung wird beispielhaft veranschaulicht und ist nicht auf die Form der Figuren der beigefügten Zeichnungen beschränkt. Es zeigen:The The present invention is exemplified and is not limited to the shape of the figures of the accompanying drawings. It demonstrate:
4. BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSART4. DESCRIPTION OF THE PREFERRED CARRYING
Wie
in den Figuren allgemein ist in
Gemäß einer
bevorzugten Ausführungsart dieser
erfindungsgemäßen Methode
werden gewisse Prioritätsregeln
Wie
aus der Zeichnung ersichtlich ist, ist in jeder der Tabellen
In
den
Vor
Beginn der Codekonvertierung wird eine bereits existierende Abschätzung für die japanischen EUC-Teil-Codepages
verwendet, die abschätzt,
dass die Teil-Codepages in diesem speziellen Fall solcherart organisiert
sind, dass der Codesatz 1 nahezu 70% aller auftretenden Zeichen
umfasst, wohingegen der Codesatz 0 etwa 29%, Codesatz 2 etwa 0,6%
und Codesatz 3 etwa 0,4% der Gesamtheit auftretender Zeichen umfasst.
Diese Codesatz-Wahrscheinlichkeitsverteilung
ist auch in
Codesatz 1, Codesatz 0, Codesatz 2, Codesatz
3.Before code conversion begins, an already existing estimation is used for the Japanese EUC subcode pages, which estimates that the subcode pages in this particular case are organized such that the code set 1 comprises nearly 70% of all occurring characters, whereas the code set 0 about 29%, code set 2 about 0.6% and code set 3 about 0.4% of the total occurring characters comprises. This code set probability distribution is also in
Code set 1, code set 0, code set 2, code set 3.
In
In einem einzigen beispielhaften Konvertierungsvorgang soll eine Gesamtheit von 230 Quellzeichen konvertiert werden. Es sollte sich verstehen, dass die ziemlich kleine Anzahl von 230 gewählt wurde, um die Übersichtlichkeit des Vorgangs zu verbessern.In a single example conversion process is intended to be a whole be converted from 230 source characters. It should be understood that the fairly small number of 230 was chosen for clarity to improve the process.
Die
Gesamtheit von 230 Quellzeichen besteht somit aus dem eingegebenen
Satz, der mit dem Bezugszeichen
Zeichen
1 bis 171 in Codesatz 1,
Zeichen 172, 173 in Codesatz 0,
Zeichen
174 bis 196 wieder in Codesatz 1,
Zeichen 197, das ein recht
selten verwendetes Zeichen ist, befindet sich in Codesatz 3,
Zeichen
198 bis 210 wieder in Codesatz 1,
Zeichen 211 bis 215 sind
in Codesatz 0 gespeichert,
Zeichen 216, 217, die ebenfalls
recht selten verwendet werden, in Codesatz 2 und
Zeichen 218
bis 230 in Codesatz 1.The total of 230 source characters thus consists of the input sentence, the reference numeral
Characters 1 to 171 in code sentence 1,
Characters 172, 173 in code set 0,
Signs 174 to 196 again in Codesatz 1,
Character 197, which is a rather rarely used character, is found in code sentence 3,
Characters 198 to 210 again in code sentence 1,
Characters 211 to 215 are stored in code set 0,
Characters 216, 217, which are also quite rarely used, in Codeset 2 and
Characters 218 to 230 in code set 1.
Das
Konvertierungsschema verarbeitet seriell die oben erwähnten Quellzeichen.
In einer bevorzugten Ausführungsform
der erfindungsgemäßen Methode
können
Hardware-Befehlssätze
verwendet werden, die eine Vielzahl von Zeichen gleichzeitig verarbeiten.
Ein Beispiel dafür
ist der IBM-OS/390-Hardware-Befehlssatz „Translate Two to One", abgekürzt TRIO,
zum Konvertieren einer Zeichenfolge, die aus 2-Byte-Zeichen besteht,
in einen Ausgabepuffer, der 1-Byte-Zeichen umfasst. Dieser Hardware-Befehlssatz nimmt
Argumente wie folgt auf:
die zu konvertierende Zeichenfolge,
den
Zielpuffer, in den die konvertierte Zeichenfolge gespeichert werden
kann,
ein Zeichen, das anzeigt, dass ein bestimmtes Eingabezeichen
nicht konvertiert werden kann,
eine Konvertierungstabelle,
die mit dem zu konvertierenden Zeichen angesteuert wird und in der
das konvertierte Zeichen an der somit angesteuerten Position gespeichert
ist.The conversion scheme serially processes the above-mentioned source characters. In a preferred embodiment of the inventive method, hardware instruction sets that process a plurality of characters simultaneously may be used. An example of this is the IBM OS / 390 "Translate Two to One" hardware instruction set, TRIO for short, for converting a string consisting of 2-byte characters into an output buffer comprising 1-byte characters. This hardware command set takes arguments as follows:
the string to convert
the target buffer into which the converted string can be stored
a character indicating that a particular input character can not be converted,
a conversion table, which is controlled by the character to be converted and in which the converted character is stored at the thus controlled position.
Um der Übersichtlichkeit willen jedoch und um sich auf den eigentlichen Kern der vorliegenden Erfindung zu konzentrieren, wird die oben beschriebene Eingabezeichenfolge einem Einzelzeichenkonvertierungsvorgang unterzogen, d. h. einem Vorgang, der jedes Zeichen separat behandelt.Around the clarity However, they want to and to focus on the very core of the present invention to concentrate, becomes the input string described above subjected to a single character conversion process, i. H. one Operation that treats each character separately.
Gemäß einem bevorzugten Merkmal der vorliegenden Ausführungsart wird ein Satz von Verarbeitungsregeln aufgestellt, der aus der oben erwähnten Prioritätenreihenfolge abgeleitet wird. Diese Verarbeitungsregeln lauten wie folgt:
- 1. greife zuerst auf den Codesatz mit der höchsten Priorität zu;
- 2. kann ein bestimmtes Zeichen nicht im Codesatz mit der höchsten Priorität gefunden werden, so fahre mit dem Codesatz fort, der die nächstniedrigere Priorität aufweist und so weiter;
- 3. für den Fall, dass ein Zeichen in einem Codesatz nicht gefunden wurde: greife auf den Codesatz mit der höchsten Priorität zu, auf den für dieses Zeichen noch nicht zugegriffen wurde.
- 1. First access the highest priority code set;
- 2. If a particular character can not be found in the highest priority code set, continue with the code set having the next lower priority, and so on;
- 3. In the event that a character was not found in a code set: access the highest priority code set that has not yet been accessed for that character.
Das
Anwenden dieser Regeln ergibt das in
Für dieses
nächste
Zeichen wird für
die Suche die zweite Zeile angewandt. Anderenfalls, wenn das oben
erwähnte
aktuelle Zeichen nicht in der Teil-Codepage 0 gefunden werden kann,
wird für
die weitere Suche auf Teil-Codepage 2 zugegriffen. Dann wird ein
entsprechendes Schema für
die Teil-Codepage 2 befolgt:
Wird das aktuelle Zeichen in Teil-Codepage
2 gefunden, so wird der ihm zugeordnete numerische Code, d. h. der
konvertierte Code, ausgegeben, und das nächste Zeichen wird gemäß der in
If the current character in sub-code page 2 is found, the numerical code assigned to it, ie the converted code, is output, and the next character is written according to the in
Wie aus der vorangegangenen Beschreibung gemäß dieser Ausführungsart der vorliegenden Erfindung nachvollziehbar ist, wird die Suche stets in der bestimmten Teil-Codepage fortgesetzt, in der das letzte Zeichen erfolgreich erkannt wurde.As can be understood from the foregoing description according to this embodiment of the present invention, the search is always in continued the particular partial code page in which the last character was successfully detected.
Mit
Bezug auf die zweite, dritte und vierte Zeile wird für das nächste zu
konvertierende Zeichen stets dann auf die Teil-Codepage mit der höchsten Priorität zugegriffen,
hier die in
Mit
Bezug auf die in
Die Suche beginnt mit einem Zugriff auf die Teil-Codepage 1, da diese die Teil-Codepage mit der höchsten Priorität ist. Somit wird Zeichen 1 gefunden und sein numerischer Code wird konvertiert, indem der in Teil-Codepage 1 gespeicherte numerische Code ausgegeben wird. Dann nimmt der Konvertierungsprozess das zweite Zeichen als Eingabe und die gleiche Prozedur wird wiederholt, da das zweite Zeichen ebenfalls in Teil-Codepage 1 gespeichert ist. Dieser Prozess wird fortgesetzt, bis das Zeichen Nummer 172 erreicht ist.The Search starts with an access to the partial codepage 1, since this the partial code page with the highest priority is. Thus, character 1 is found and its numeric code becomes converted by the numeric code stored in sub code page 1 is issued. Then the conversion process takes the second one Characters as input and the same procedure is repeated because the second character is also stored in sub-code page 1. This Process continues until character number 172 is reached.
Das
aktuelle Zeichen 172 kann nicht in der Teil-Codepage 1 gefunden
werden. Somit wird, wie der Pfeil A) anzeigt, als nächstes auf
die Teil-Codepage 0 zugegriffen, da sie die Teil-Codepage mit der nächsthöchsten Priorität ist. Zufällig wird
Zeichen 172 in der Teil-Codepage 0 gefunden. Somit wird sein numerischer
Code wie oben beschrieben ausgegeben. Teil-Codepage 0 wird weiterhin für Zeichen
173 angewandt. Zufällig
ist es, wie aus
Zufällig wird,
wie wiederum aus
Dann
wird Zeichen 197, das ein recht selten verwendetes Zeichen ist,
nicht im Codesatz 1 gefunden. Somit wird, wie der Pfeil C) in
Zeichen
198 wird nicht im Codesatz 3 gefunden. Somit gilt die in
Zeichen 216 kann jedoch nicht gefunden werden, und somit gilt die zweite Zeile, und für die Suche wird wieder auf Codesatz 1 zugegriffen. Da es jedoch dort nicht gefunden wird, wird auf Codesatz 2 zugegriffen, wie der Pfeil F) anzeigt. Hier wird es gefunden, und nach der Ausgabe wird auch das nächste Zeichen 217 erfolgreich aus Codesatz 2 verarbeitet.character However, 216 can not be found, and thus the second applies Line, and for the search is again accessed on codeset 1. But there it is is not found, codeset 2 is accessed, like the arrow F) indicates. Here it is found, and after the edition will be too the next Character 217 successfully processed from code set 2.
Dann
wird das Zeichen 218 verarbeitet, und da es nicht im Codesatz 2
gefunden wird, wird wieder auf Codesatz 1 zugegriffen, wie aus der
dritten Zeile in
In der vorangegangenen Beschreibung wurde die Erfindung anhand einer spezifischen beispielhaften Ausführungsart beschrieben. Es ist jedoch offensichtlich, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne von dem in den beigefügten Ansprüchen festgelegten Geltungsbereich der Erfindung abzuweichen. Die Beschreibung und die Zeichnungen sind dementsprechend als beispielhaft und nicht in einem beschränkenden Sinne zu betrachten.In In the preceding description, the invention was based on a specific exemplary embodiment described. However, it is obvious that various modifications and changes can be done without from that in the attached claims deviated scope of the invention. The description and the drawings are accordingly exemplary and not in a restrictive To look at the senses.
Beispielsweise kann die Suche nach einem Treffer in einem selten verwendeten Codesatz anders fortgesetzt werden: alternativ kann die Suche automatisch mit dem Codesatz mit der höchsten Priorität fortgesetzt werden, ohne den Versuch, das Zeichen in demselben selten verwendeten Codesatz zu finden. Diese Situation tritt auf, nachdem in der oben dargelegten ausführlichen Beschreibung Zeichen 197 verarbeitet wurde. Statistisch gesehen kann so ein weiterer kleiner Leistungszuwachs erzielt werden.For example can search for a hit in a rarely used code set continue differently: alternatively, the search can be automatic with the highest set of codes priority be continued without attempting to use the sign in the same rare used code set to find. This situation occurs after in the detail detailed above Description character 197 was processed. Statistically speaking So another small increase in performance can be achieved.
Die vorliegende Erfindung kann in Hardware, Software oder in einer Kombination aus Hardware und Software realisiert werden. Ein Codekonvertierungstool gemäß der vorliegenden Erfindung kann zentralisiert in einem Computersystem realisiert werden, oder verteilt, wobei verschiedene Elemente über mehrere, miteinander verbundene Computersysteme verbreitet werden. Jede Art von Computersystem oder jede andere zur Ausführung des oben beschriebenen Verfahrens angepasste Einrichtung ist geeignet. Eine typische Kombination aus Hardware und Software kann ein Universalcomputersystem mit einem Computerprogramm sein, welches im geladenen und ausgeführten Zustand das Computersystem derart steuert, dass dieses die oben beschriebenen Methoden umsetzt.The The present invention may be in hardware, software or in combination be realized from hardware and software. A code conversion tool according to the present Invention can be implemented centrally in a computer system be, or distributed, with different elements over several, interconnected computer systems. Any kind from computer system or any other to the execution of the above Method adapted device is suitable. A typical combination hardware and software can be a universal computer system with a Computer program, which is in the loaded and running state controls the computer system so that it has the methods described above implements.
Die vorliegende Erfindung kann außerdem in ein Computerprogrammprodukt eingebettet sein, das alle Merkmale zum Ermöglichen der Implementierung der hierin beschriebenen Methoden umfasst und das nach dem Laden in ein Computersystem in der Lage ist, diese Methoden auszuführen.The The present invention can also embedded in a computer program product that has all the features to enable the implementation of the methods described herein comprises and which after loading into a computer system is able to do this Execute methods.
Der Begriff Computerprogrammmittel oder Computerprogramm steht im vorliegenden Kontext unabhängig von Sprache, Code oder Notation für jeden Ausdruck eines Befehlssatzes, der ein über eine Datenverarbeitungsfunktionalität verfügendes System veranlasst, eine spezielle Funktion entweder direkt oder nach mindestens einem der folgenden beiden Vorgänge auszuführen: a) Konvertierung in eine andere Sprache, Notation oder einen anderen Code; b) Wiedergabe in einer anderen materiellen Form.Of the Term computer program means or computer program is available in the present Context independent of language, code or notation for each expression of an instruction set, the one over a data processing functionality causing system, a special function either directly or after at least one of the following two operations execute: a) Conversion to another language, notation or another Code; b) reproduction in another material form.
Claims (12)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00108884 | 2000-04-26 | ||
EP00108884 | 2000-04-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60131490D1 DE60131490D1 (en) | 2008-01-03 |
DE60131490T2 true DE60131490T2 (en) | 2008-06-19 |
Family
ID=8168559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2001631490 Expired - Lifetime DE60131490T2 (en) | 2000-04-26 | 2001-04-14 | Method for converting UNICODE text into mixed codepages |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP3725443B2 (en) |
KR (1) | KR100399495B1 (en) |
DE (1) | DE60131490T2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100923258B1 (en) * | 2003-01-30 | 2009-10-23 | 엘지전자 주식회사 | Unicode converting method for mobile terminal source file |
KR100755533B1 (en) * | 2005-07-25 | 2007-09-06 | 주식회사 팬택 | Method and apparatus of generating character set |
JP5493764B2 (en) * | 2009-11-20 | 2014-05-14 | セイコーエプソン株式会社 | CONTROL DEVICE, CONTROL DEVICE CONTROL METHOD, AND PROGRAM |
CN103154907B (en) | 2010-10-15 | 2016-04-20 | 三菱电机株式会社 | Programmable Logic Controller |
JP6209901B2 (en) * | 2013-08-26 | 2017-10-11 | 富士通株式会社 | Character data processing method, program, and information processing apparatus |
CN107135429B (en) * | 2017-05-12 | 2019-10-25 | 武汉斗鱼网络科技有限公司 | Barrage message resolution method, device, electronic equipment and computer-readable storage media |
CN112395830A (en) * | 2019-07-31 | 2021-02-23 | 腾讯科技(深圳)有限公司 | Form processing method based on Wan Guo code and related device |
-
2001
- 2001-03-24 KR KR10-2001-0015424A patent/KR100399495B1/en not_active IP Right Cessation
- 2001-04-14 DE DE2001631490 patent/DE60131490T2/en not_active Expired - Lifetime
- 2001-04-20 JP JP2001122514A patent/JP3725443B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001357031A (en) | 2001-12-26 |
KR20010098422A (en) | 2001-11-08 |
DE60131490D1 (en) | 2008-01-03 |
JP3725443B2 (en) | 2005-12-14 |
KR100399495B1 (en) | 2003-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69330196T2 (en) | Text compression technique using a frequency ordered matrix of word number mappings | |
DE69710459T2 (en) | IDENTIFICATION OF WORDS IN JAPANESE TEXT BY A COMPUTER SYSTEM | |
DE69911842T2 (en) | Method and device for retrieving information and corresponding storage medium | |
DE69937176T2 (en) | Segmentation method to extend the active vocabulary of speech recognizers | |
DE69633639T2 (en) | Call system with automatic summary of texts | |
DE602004010922T2 (en) | STORAGE AND STROMEFFICIENT MECHANISM FOR FAST TABLE HUNTING | |
DE69520765T2 (en) | Provision of shared electronic memory | |
DE69400207T2 (en) | LANGUAGE-BASED TEXT COMPARISON SYSTEM | |
DE69722085T2 (en) | Method and device for compressing and decompressing messages | |
DE10101346B4 (en) | A method of automatically converting data generated in a particular runtime encoding system for processing in another runtime encoding system | |
DE102008016179A1 (en) | Automatic generation of compact code tables | |
DE4225200A1 (en) | ELECTRONIC WOUNDER BOOK | |
EP1719345B1 (en) | Method and device for coding and decoding structured documents | |
DE2755875A1 (en) | DEVICE FOR CHECKING THE SEPARATING LINES | |
DE2801610A1 (en) | PROCEDURE FOR DEFINING INITIAL VALUES FOR TEXT PROCESSING | |
DE102009059939A1 (en) | Method for compressing identifiers | |
DE60131490T2 (en) | Method for converting UNICODE text into mixed codepages | |
DE3854853T2 (en) | Data processor with advanced operational functions | |
DE69431101T2 (en) | Printer system with compressed typesetting, which saves space | |
EP1561281B1 (en) | Method for the creation of a bit stream from an indexing tree | |
DE69229583T2 (en) | Word inflection method and data processing unit for carrying out the method | |
DE69227881T2 (en) | Text translation system | |
DE4213533C2 (en) | Method and computer system for decomposing compound words | |
DE69605433T2 (en) | UNICODE CONVERTER | |
WO2002042931A2 (en) | Method for processing text in a computer and computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8320 | Willingness to grant licences declared (paragraph 23) | ||
8364 | No opposition during term of opposition |