FR2717281A1 - Coding system for characters of ASCII and foreign language symbols - Google Patents

Coding system for characters of ASCII and foreign language symbols Download PDF

Info

Publication number
FR2717281A1
FR2717281A1 FR9402884A FR9402884A FR2717281A1 FR 2717281 A1 FR2717281 A1 FR 2717281A1 FR 9402884 A FR9402884 A FR 9402884A FR 9402884 A FR9402884 A FR 9402884A FR 2717281 A1 FR2717281 A1 FR 2717281A1
Authority
FR
France
Prior art keywords
order
codes
code
coding
symbol
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
FR9402884A
Other languages
French (fr)
Other versions
FR2717281B1 (en
Inventor
Jouhier Bruno
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.)
Neuron Data Inc
Original Assignee
Neuron Data Inc
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 Neuron Data Inc filed Critical Neuron Data Inc
Priority to FR9402884A priority Critical patent/FR2717281B1/en
Publication of FR2717281A1 publication Critical patent/FR2717281A1/en
Application granted granted Critical
Publication of FR2717281B1 publication Critical patent/FR2717281B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Abstract

The system uses coding elements (C0-C4) each of which covers a specified hexadecimal range. The coding elements are arranged in groups of varying length (L) such that their combination provides ranges up to 224. Each group is symmetrical commencing and ending with the same element. The length (L) of each group and the hexadecimal range of the leading coding element defines the sub-domains in the whole available range. The characters to be coded are expressed in terms of tokens each comprising a category and a transform and the tokens are allocated to the sub-domains as defined by the coding group.

Description

Dispositif de codage de symboles tels que des caractères
L'invention concerne le codage de symboles, tels que des caractères, ainsi que leur décodage.
Coding device for symbols such as characters
The invention relates to the encoding of symbols, such as characters, as well as their decoding.

L'une des bases actuelles du codage informatique de symboles est la table dite ASCII (pour "American Standard Code for
Information Interchange"). Elle procure un codage de base normalisé sur 7 bits, dont la signification est bien connue des spécialistes. Les valeurs 32 à 127 du code (en décimal), normalisées, couvrent les chiffres de O à 9, les 26 lettres de l'alphabet latin dans leurs versions majuscules et minuscules, les signes de ponctuation ou d'opérations habituelles, ainsi que quelques symboles spéciaux et symboles utilitaires d'informatique. Par contre, le début de la table
ASCII (de O à 31) possède une signification qui peut différer suivant qu'il s'agit de micro-informatique, de stations de travail, ou de grands systèmes.
One of the current bases of computer coding of symbols is the so-called ASCII table (for "American Standard Code for
Information Interchange "). It provides a standard 7-bit standard coding, the meaning of which is well known to specialists. The values 32 to 127 of the code (in decimal), normalized, cover the numbers from 0 to 9, the 26 letters of the Latin alphabet in their uppercase and lowercase versions, the punctuation marks or usual operations, as well as some special symbols and utility symbols of computer science.
ASCII (from O to 31) has a meaning which can differ depending on whether it is microcomputing, workstations, or large systems.

Dans la plupart des équipements informatiques, l'unité élémentaire de stockage est l'octet, qui couvre 8 bits. Le codage ASCII ne nécessitant que 7 bits, le bit restant a été utilisé pour étendre le codage à d'autres caractères. Lorsque le premier bit est 0, on accorde à l'octet la signification du code ASCII contenu dans les 7 bits suivants. Lorsque le premier bit est 1, on obtient une nouvelle étendue de 128 possibilités, l'ASCII "étendu", dont la signification va varier suivant le contexte. Par exemple dans le codage ISO 8859-1 (ISO LATIN 1), les 128 codes supplémentaires couvrent les caractères accentués des principales langues européennes, dans le codage ISO 8859-7, les 128 codes supplémentaires couvrent les lettres grecques.In most computer equipment, the basic storage unit is the byte, which covers 8 bits. As ASCII coding requires only 7 bits, the remaining bit has been used to extend the coding to other characters. When the first bit is 0, the byte is given the meaning of the ASCII code contained in the following 7 bits. When the first bit is 1, a new range of 128 possibilities is obtained, the "extended" ASCII, the meaning of which will vary according to the context. For example in the ISO 8859-1 coding (ISO LATIN 1), the 128 additional codes cover the accented characters of the main European languages, in the ISO 8859-7 coding, the 128 additional codes cover the Greek letters.

L'ASCII "étendu" répond relativement bien aux besoins des langues européennes mais ses possibilités d'extension sont trop limitées pour couvrir les jeux de caractères des langues asiatiques (chinois, japonais, coréen). Des systèmes de codages mixtes dans lesquels les caractères étendus sont codés sur deux octets et les caractères ASCII restent codés sur un octet ont été développés pour résoudre ce problème.The "extended" ASCII meets the needs of European languages relatively well, but its extension possibilities are too limited to cover the character sets of Asian languages (Chinese, Japanese, Korean). Mixed coding systems in which the extended characters are coded on two bytes and the ASCII characters remain coded on one byte have been developed to solve this problem.

Malgré les efforts importants de normalisation, il demeure des divergences notables dans la manière de coder les caractères (ISO LATIN 1, OEM et Macintosh pour les caractères européens; Shift-JIS et EUC pour les caractères japonais). De plus, l'absence d'un codage qui permette de couvrir la totalité des caractères utilisés dans le monde pose un problème pour le codage de documents multilingues.Despite significant efforts at standardization, there are still significant differences in the way of coding characters (ISO LATIN 1, OEM and Macintosh for European characters; Shift-JIS and EUC for Japanese characters). In addition, the absence of a coding which makes it possible to cover all the characters used in the world poses a problem for the coding of multilingual documents.

Les spécialistes se sont attaqués à ce problème.Experts have tackled this problem.

Ainsi a été développée une technique dite "UNICODE" qui ambitionne notamment de couvrir tous les caractères de toutes les langues, avec une nomenclature précise et cohérente, des informations convenables quant aux références croisées, un codage dense, et une longueur en principe fixe du codage, sur deux octets, soit 65536 possibilités.Thus was developed a technique called "UNICODE" which aims in particular to cover all the characters of all languages, with a precise and coherent nomenclature, suitable information as for cross references, dense coding, and a length in principle fixed coding , on two bytes, or 65,536 possibilities.

Toutefois, la Demanderesse a observé que cette solution n'est pas totalement satisfaisante, pour des raisons qui seront développées plus loin.However, the Applicant has observed that this solution is not completely satisfactory, for reasons which will be developed later.

En conséquence, la présente invention a pour objet de fournir une technique de codage de symboles améliorée, en vue de mieux satisfaire les besoins.Consequently, the object of the present invention is to provide an improved symbol coding technique, in order to better satisfy the needs.

Le dispositif selon l'invention comprend - une première voie, propre à véhiculer un signal d'ordre qui désigne un symbole, - une seconde voie, propre à véhiculer un code-symbole, appartenant à un domaine choisi de codes-symboles, et - des moyens de traitement pour passer du signal d'ordre au code-symbole.The device according to the invention comprises - a first channel, suitable for conveying an order signal which designates a symbol, - a second channel, suitable for carrying a symbol code, belonging to a chosen field of symbol codes, and - processing means for passing from the order signal to the symbol code.

Selon un aspect de l'invention, le signal d'ordre étant constitué à partir d'un jeu prédéterminé de codes-ordres numériques (appelés jetons), les moyens de traitement comprennent, en combinaison: - de premiers moyens, capables en réponse à la présentation d'un code-ordre, de fournir une donnée de catégorie, ainsi qu'un transformé, - de seconds moyens, propres à établir une correspondance entre une pluralité prédéterminée de suites d'intervalles de transformé associés chacun à une catégorie de jetons donnée (appelée suite d'intervalles de jetons), et une pluralité de sous-domaines respectifs disjoints dans le domaine des codessymboles, - de troisièmes moyens pour analyser séquentiellement les suites de codes-ordres du signal d'ordre, en fonction d'une règle d'analyse prédéterminée, en obtenant des premiers moyens la donnée de catégorie et le transformé de chaque code-ordre, et des seconds moyens le sous-domaine associé à la suite d'intervalles de jetons associés au signal d'ordre, et - des moyens pour calculer le code-symbole associé à la séquence de codes-ordres analysée en fonction du sous-domaine et des transformés des codes-ordres ainsi obtenus.According to one aspect of the invention, the order signal being formed from a predetermined set of digital order codes (called tokens), the processing means comprise, in combination: - first means, capable in response to the presentation of an order code, of providing a category datum, as well as a transform, - second means, suitable for establishing a correspondence between a predetermined plurality of sequences of transform intervals each associated with a category of tokens given (called a sequence of token intervals), and a plurality of respective disjoint sub-domains in the field of code symbols, - third means for sequentially analyzing the sequences of command codes of the order signal, as a function of a predetermined analysis rule, by obtaining from the first means the category data and the transform of each code-order, and from the second means the sub-domain associated with the sequence of intervals of j and are associated with the order signal, and - means for calculating the symbol code associated with the sequence of order codes analyzed as a function of the subdomain and of the transforms of the order codes thus obtained.

Dans un mode de réalisation particulièrement avantageux, les moyens de traitement comprennent en outre des moyens de décodage, propres à faire correspondre à un code-symbole la suite de codes-ordres correspondante. Ces moyens de traitement comprennent également des moyens de transcodage, propres à faire correspondre à un codage de symbole d'une autre nature que celle utilisée la suite de codes-ordres correspondante.In a particularly advantageous embodiment, the processing means further comprise decoding means, suitable for matching a symbol code with the corresponding sequence of command codes. These processing means also include transcoding means, suitable for matching symbol coding of a different nature than that used for the corresponding sequence of command codes.

Le procédé selon l'invention comporte les deux étapes suivantes a) une première étape au cours de laquelle on établit un signal d'ordre qui désigne un symbole, et b) une seconde étape au cours de laquelle on fait correspondre à ce signal d'ordre un code-symbole, appartenant à un domaine choisi de codes-symboles.The method according to the invention comprises the following two steps a) a first step during which an order signal is established which designates a symbol, and b) a second step during which this signal is made to correspond order a code-symbol, belonging to a chosen field of code-symbols.

Selon l'invention, à l'étape a), le signal d'ordre est établi à partir d'un jeu prédéterminé de codes-ordres numériques.According to the invention, in step a), the order signal is established from a predetermined set of digital order codes.

Par ailleurs, l'étape b) comprend les opérations suivantes bl) analyser séquentiellement les codes-ordres du signal d'ordre, en fonction d'une règle d'analyse prédéterminée, b2) faire correspondre à chaque code-ordre une donnée de catégorie, ainsi qu'un transformé associé, b3) déterminer la suite d'intervalles de jetons associée à la suite de codes-ordres, b4) déterminer un sous-domaine du domaine des codes-symboles qui correspond à cette suite d'intervalles de jetOns, et b5) calculer le code-symbole associé à la séquence de codes-ordres analysée en fonction du sous-domaine et des transformés des codes-ordres ainsi obtenus.Furthermore, step b) comprises the following operations b1) sequentially analyzing the order codes of the order signal, as a function of a predetermined analysis rule, b2) making a category data correspond to each order code , as well as an associated transform, b3) determine the sequence of token intervals associated with the sequence of order codes, b4) determine a sub-domain of the domain of symbol codes which corresponds to this sequence of jetOns intervals , and b5) calculating the symbol code associated with the sequence of order codes analyzed as a function of the subdomain and of the transforms of the order codes thus obtained.

D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels - la figure 1 illustre schématiquement une installation avec un dispositif selon la présente invention; - la figure 2 illustre schématiquement des échanges de données auxquels la présente invention s'applique; - les figures 3 et 4 définissent les étendues de codage utilisées dans un exemple de mise en oeuvre de la présente invention - la figure 5 illustre un exemple de table arborescente utilisable pour la mise en oeuvre de l'invention; - la figure 6 illustre, sur un exemple simple, deux cas particuliers de codage mis en oeuvre par le dispositif selon la présente invention.Other characteristics and advantages of the invention will appear on examining the detailed description below, and the appended drawings, in which - FIG. 1 schematically illustrates an installation with a device according to the present invention; - Figure 2 schematically illustrates data exchanges to which the present invention applies; - Figures 3 and 4 define the coding ranges used in an example of implementation of the present invention - Figure 5 illustrates an example of a tree table usable for the implementation of the invention; - Figure 6 illustrates, in a simple example, two particular cases of coding implemented by the device according to the present invention.

Dans la présente description, est considéré comme "symbole" tout signe utilisé par l'homme pour transmettre de l'information. Sont visés a priori les symboles graphiques, sans exclure des symboles d'une autre nature, sonore par exemple.In the present description, any sign used by humans to transmit information is considered to be a "symbol". A priori are targeted graphic symbols, without excluding symbols of another nature, for example sound.

Lorsque le contexte le permet, on remplacera le mot "symbole" par "caractère", et une suite de symboles sera appelée "chaîne de caractères" ou "texte", selon l'habitude des hommes du métier.When the context allows, the word "symbol" will be replaced by "character", and a series of symbols will be called "character string" or "text", according to the habit of those skilled in the art.

On distinguera - la représentation d'un symbole dans un texte, qui fait intervenir des "codes-symboles", ou codes de caractères, et - le signal d'ordre désignant le symbole, qui fait intervenir des codes-ordre ("jetons", ou "token" en anglais), d'une nature différente.We will distinguish - the representation of a symbol in a text, which involves "symbol codes", or character codes, and - the order signal designating the symbol, which involves order codes ("tokens" , or "token" in English), of a different nature.

Il y a une différence essentielle entre les opérations de codage et de décodage.There is an essential difference between coding and decoding operations.

Le codage est l'opération qui consiste à associer un codesymbole unique à un ou plusieurs jetons émis par une source de jetons qui peut être soit un périphérique (comme par exemple un clavier), soit un composant logiciel.Coding is the operation which consists in associating a unique symbol code with one or more tokens emitted by a source of tokens which can be either a peripheral (such as for example a keyboard), or a software component.

Le décodage est l'opération inverse qui consiste à émettre un ou plusieurs jetons à partir d'un code-symbole unique stocké dans une mémoire (vive ou de masse, dans un fichier) de
unité centrale. Les jetons peuvent être envoyés à un périphérique spécialisé (comme par exemple une imprimante) ou bien traités par un composant logiciel approprié qui pourra en extraire des informations utiles telles qu'une catégorie lexicale (par exemple lettre simple, lettre accentuée, chiffre, ...) ou un état majuscule/minuscule.
Decoding is the reverse operation which consists in issuing one or more tokens from a unique symbol code stored in a memory (live or mass, in a file) of
central unit. Tokens can be sent to a specialized peripheral (such as a printer) or else processed by an appropriate software component which can extract useful information such as a lexical category (for example simple letter, accented letter, number, etc.). .) or an upper / lower case state.

En règle générale, les codes-symboles serviront plutôt au stockage et à l'échange de données textuelles, la représentation sous forme de suites de codes-ordres sera en général temporaire et interne à un processus logiciel. Par exemple, un contrôleur de clavier pourra synthétiser les codes-symboles à envoyer au processeur à partir des codes-ordres qui correspondent plus ou moins directement aux touches activées par l'utilisateur. Inversement, un contrôleur d'imprimante pourra décomposer les codes-symboles en suites de codes-ordres afin de déterminer les constituants d'un caractère composite. Un logiciel quelconque pourra utiliser une combinaison des opérations de décodage et codage, avec un traitement intermédiaire sur les codes-ordres pour convertir des chaînes de caractères (conversion majuscules/minuscules).As a general rule, the symbol codes will rather be used for the storage and exchange of textual data, the representation in the form of sequences of order codes will generally be temporary and internal to a software process. For example, a keyboard controller can synthesize the symbol codes to be sent to the processor from the command codes which correspond more or less directly to the keys activated by the user. Conversely, a printer controller can decompose the symbol codes into sequences of order codes in order to determine the constituents of a composite character. Any software can use a combination of decoding and coding operations, with an intermediate processing on the command codes to convert character strings (upper / lower case conversion).

Les voies d'entrée et de sortie des processus de codage et décodage sont en général des voies "logiques" (logicielles), et non pas nécessairement des voies "physiques" (matérielles).The input and output channels of the coding and decoding processes are generally "logical" (software) channels, and not necessarily "physical" (hardware) channels.

La Demanderesse a étudié en détail la technique UNICODE déjà mentionnée. Elle s'est attachée notamment aux propriétés énoncées ci-après.The Applicant has studied in detail the UNICODE technique already mentioned. It focused in particular on the properties set out below.

La première propriété est la spécificité du codage. Un même caractère peut être représenté à l'écran ou sur papier de plusieurs manières différentes, en fonction de la police de caractères et du style (gras, italique) choisi. Il convient de distinguer le glyphe (la variante typographique) et le caractère. Le rôle d'un système de codage de caractères est d'attribuer un code unique à chaque caractère, code qui couvrira tous les glyphes de ce caractère. Toutefois, la distinction glyphe/caractère n'est pas toujours facile & faire.The first property is the specificity of the coding. The same character can be represented on the screen or on paper in several different ways, depending on the font and the style (bold, italic) chosen. A distinction must be made between the glyph (the typographical variant) and the character. The role of a character encoding system is to assign a unique code to each character, which will cover all of the glyphs for that character. However, the glyph / character distinction is not always easy to make.

Par exemple, il convient d'établir des distinctions subtiles entre ligatures (fi, ffi) et digraphes (oe, ae). Dans la plupart des codages existants, les digraphes sont considérés comme des caractères originaux alors que les ligatures sont traitées comme des variantes typographiques.For example, subtle distinctions should be made between ligatures (fi, ffi) and digraphs (oe, ae). In most existing codings, digraphs are considered as original characters while ligatures are treated as typographical variants.

Parfois, deux caractères sont représentés par le même glyphe.Sometimes two characters are represented by the same glyph.

Par exemple, la lettre latine "a" et la lettre grecque "alpha" ont la même représentation en majuscule. Il s'agit cependant de deux caractères différents auxquels le codage devra attribuer des codes différents. La décision de distinguer ou d'unifier les caractères ayant même glyphe est moins évidente lorsqu'il s'agit de caractères tels que la lettre grecque "mu" et le préfixe "micro" d'une unité de mesure ou de cas tels que le point d'exclamation "!" et le symbole mathématique "factorielle".For example, the Latin letter "a" and the Greek letter "alpha" have the same uppercase representation. However, these are two different characters to which the coding must assign different codes. The decision to distinguish or unify characters with the same glyph is less obvious when dealing with characters such as the Greek letter "mu" and the prefix "micro" of a unit of measure or cases such as the exclamation point "!" and the mathematical symbol "factorial".

Un troisième exemple est celui des variantes "demi-largeur" et "largeur normale" des caractères asiatiques. Les codages actuellement en vigueur attribuent des codes différents à ces variantes et, par conséquent, un code universel se doit de fournir un mécanisme pour distinguer ces variantes afin que les textes obtenus à l'aide des codages actuels puissent être convertis sans perdre d'information.A third example is that of the "half-width" and "normal width" variants of the Asian characters. The codings currently in force assign different codes to these variants and, therefore, a universal code must provide a mechanism to distinguish these variants so that the texts obtained using the current codings can be converted without losing information. .

Comme le montrent ces trois exemples, tout codage suppose un certain nombre de décisions arbitraires quant au degré de spécificité des caractères. Une des caractéristiques du système de codage proposé est de permettre de spécifier les caractères autant qu'on le désire et donc de fournir des ensembles de caractères cohérents et complets (par exemple un ensemble de signes de ponctuation contenant le point d'exclamat ion et un ensemble de symboles mathématiques contenant le signe factorielle) avec des moyens efficaces pour catégoriser les caractères à partir de leurs codes et pour décomposer des caractères composites (digraphes, caractères accentués) en leurs éléments constitutifs.As these three examples show, any coding implies a certain number of arbitrary decisions as to the degree of specificity of the characters. One of the characteristics of the proposed coding system is to allow characters to be specified as much as desired and therefore to provide consistent and complete character sets (for example a set of punctuation marks containing the exclamation point and a set of mathematical symbols containing the factorial sign) with effective means for categorizing characters from their codes and for decomposing composite characters (digraphs, accented characters) into their constituent elements.

Le caractère combinatoire du codage proposé et la large taille de l'espace de codes disponible sont fondamentaux pour atteindre ce but.The combinatorial nature of the proposed coding and the large size of the code space available are fundamental to achieving this goal.

Une seconde propriété est la compatibilité avec la table de base ASCII précitée. Une chaîne constituée seulement de caractères ASCII est codée par UNICODE d'une façon différente de la chaîne ASCII équivalente, car, dans UNICODE, chaque caractère ASCII est transformé en codage sur deux octets (dont le premier est Oh, c'est-à-dire zéro en hexadécimal).A second property is compatibility with the above-mentioned ASCII base table. A string consisting only of ASCII characters is coded by UNICODE in a different way from the equivalent ASCII string, because, in UNICODE, each ASCII character is transformed into double byte coding (the first of which is Oh, that is say zero in hex).

Une troisième propriété est l'unicité. Il est vivement souhaitable qu'il n'existe qu'une seule manière de représenter un symbole donné, au niveau de spécificité choisi (ce qui n'est pas vrai en général, notamment dans UNICODE). Comme exemple de non-unicité, le caractère "à" peut être représenté soit comme ['à latin' minuscule] soit comme E'a latin' minuscule]+['accent grave' sans espacement]. Ceci a de nombreuses conséquences gênantes, en particulier quand on compare des chaînes de caractères pour en détecter l'identité stricte. En effet, il est nécessaire d'interpréter préalablement tout caractère susceptible d'au moins deux représentations différentes.A third property is uniqueness. It is highly desirable that there is only one way of representing a given symbol, at the level of specificity chosen (which is not true in general, especially in UNICODE). As an example of non-uniqueness, the character "to" can be represented either as ['to Latin' lowercase] or as E'a Latin 'lowercase] + [' grave accent 'without spacing]. This has many annoying consequences, especially when comparing strings to detect their strict identity. Indeed, it is necessary to interpret beforehand any character capable of at least two different representations.

Une autre propriété est dite "localité". Pêche par manque de localité une technique de codage qui nécessite de connaître des informations contenues à un autre endroit du texte (chaîne de caractères) traité. Ainsi, quoique le codage
UNI CODE possède en principe une longueur fixe de deux octets, il autorise néanmoins pour certains caractères un codage sur plusieurs groupes de deux octets. (Voir l'exemple précité :['a latin' minuscule]+ttaccent grave' sans espacement], qui est un caractère unique codé sur deux groupes de deux octets). Ceci a également de nombreuses conséquences néfastes. Par exemple, toujours lorsqu'on explore deux chaînes de caractères en vue de leur comparaison, il faut regarder plus loin vers l'avant, pour éviter de considérer comme identiques un "à" et un "a".
Another property is called "locality". Fishing for lack of locality a coding technique which requires knowing information contained elsewhere in the text (character string) processed. So although the coding
UNI CODE has in principle a fixed length of two bytes, it nevertheless authorizes coding on several groups of two bytes for certain characters. (See the above example: ['a Latin' lowercase] + ttaccent grave 'without space], which is a single character encoded in two groups of two bytes). This also has many harmful consequences. For example, always when exploring two strings for comparison, you have to look further forward, to avoid considering as identical a "to" and an "a".

Comme autre propriété, on notera encore l'extensibilité. La plupart du temps, quelques emplacements sont réservés pour des caractères à choisir. Mais tout principe de codage de longueur fixe (comme sur deux octets) interdit l'extension au-delà d'une limite donnée (comme 65536), sauf à introduire des mécanismes modaux non locaux, avec les sérieux inconvénients qui s'y attachent.As another property, we also note the extensibility. Most of the time, a few places are reserved for characters to choose from. But any coding principle of fixed length (as on two bytes) prohibits the extension beyond a given limit (like 65536), except to introduce non-local modal mechanisms, with the serious disadvantages which are attached to it.

Dans ces conditions, la présente invention a notamment pour but de fournir un moyen de codage qui permette de "spécifier" tout symbole jusqu'au niveau désiré de sophistication, sans compliquer indûment son traitement ultérieur.Under these conditions, the object of the present invention is in particular to provide a coding means which makes it possible to "specify" any symbol up to the desired level of sophistication, without unduly complicating its subsequent processing.

L'invention vise également à permettre une extensibilité aisée de la technique de rodage, une compatibilité ASCII stricte, avec bien entendu une bonne compacité et efficacité, ainsi du codage.The invention also aims to allow easy extensibility of the running-in technique, strict ASCII compatibility, with of course good compactness and efficiency, as well as coding.

La présente invention a aussi pour but de fournir un moyen de codage qui puisse aisément et systématiquement être rendu "unique", c'est-à-dire dans lequel il y ait une seule manière de représenter un caractère donné, jusqu'au niveau de spécificité désiré.The present invention also aims to provide a coding means which can easily and systematically be made "unique", that is to say in which there is only one way of representing a given character, up to the level of specificity desired.

L'invention a enfin pour but de fournir un moyen de codage qui réduise autant que possible le besoin de recourir à des expédients qui fassent exception aux propriétés souhaitables de "localité" et de "non-modalité".The invention finally aims to provide a coding means which reduces as much as possible the need to use expedients which make an exception to the desirable properties of "locality" and "non-modality".

Selon un aspect important de l'invention, la technique de codage proposée est associée à une description algébrique des caractères. Ceci signifie que de nombreuses informations pourront être tirées directement de la suite de codes-ordres désignant le caractère, sans qu'il soit nécessaire dtinspec- ter une table complémentaire. According to an important aspect of the invention, the proposed coding technique is associated with an algebraic description of the characters. This means that a great deal of information can be obtained directly from the sequence of code codes designating the character, without the need to inspect an additional table.

L'invention s'applique à de nombreux types d'installations informatiques.The invention applies to many types of computer installations.

Une installation élémentaire (figure 1) comprend une unite centrale 1, associée à un clavier 2 et à un écran 3, ainsi qu'à une mémoire de masse 4 telle qu'un disque dur et une imprimante 5, étant observé que, s'agissant d'un réseau, la mémoire de masse et l'imprimante peuvent se trouver à distance.A basic installation (FIG. 1) comprises a central unit 1, associated with a keyboard 2 and a screen 3, as well as a mass memory 4 such as a hard disk and a printer 5, it being observed that, if being a network, the mass memory and the printer can be located remotely.

En fonctionnement, le schéma de principe applicable devient celui de la figure 2, où l'on distingue dans l'unité centrale 1 le processeur 10 et la mémoire vive 12. On y retrouve le clavier 2, l'écran 3, l'imprimante 5 et la mémoire de masse 4, éventuellement un modem ou une liaison-réseau 6.In operation, the applicable principle diagram becomes that of FIG. 2, in which the processor 10 and the random access memory 12 are distinguished in the central unit 1. There is the keyboard 2, the screen 3, the printer. 5 and the mass memory 4, possibly a modem or a network link 6.

Le processeur 10 peut être en train de mettre en oeuvre plusieurs logiciels; on a distingué ici un logiciel A ou 91 et un logiciel B ou 92.The processor 10 may be implementing several software; a distinction was made here between software A or 91 and software B or 92.

Des données de textes, c'est-à-dire contenant des symboles au sens de la présente invention peuvent être échangées non seulement entre le processeur, le clavier, l'écran, l'imprimante, la mémoire vive, le modem et la mémoire de masse, mais aussi de logiciel à logiciel. En outre, de telles données textes peuvent être rencontrées dans des situations assez différentes : un fichier dit texte ne contiendra en principe que des données de texte. Par contre, un fichier programme pourra contenir d'une part des instructions, d'autre part des données de texte.Text data, that is to say containing symbols within the meaning of the present invention can be exchanged not only between the processor, the keyboard, the screen, the printer, the random access memory, the modem and the memory. mass, but also from software to software. In addition, such text data can be encountered in quite different situations: a so-called text file will in principle only contain text data. On the other hand, a program file may contain instructions on the one hand, and text data on the other.

De même, des ordres désignant des symboles pourront se trouver définis non seulement au niveau des périphériques tels que le clavier, l'écran ou l'imprimante, mais aussi dans les dialogues internes avec les mémoires et/ou entre logiciels.Similarly, orders designating symbols may be defined not only at the level of the peripherals such as the keyboard, the screen or the printer, but also in the internal dialogues with the memories and / or between software.

De façon générale, ceci peut être défini en considérant - une première voie propre à véhiculer un signal d'ordre qui désigne un symbole ou "caractère", et - une seconde voie propre à véhiculer un code-symbole.In general, this can be defined by considering - a first channel suitable for conveying an order signal which designates a symbol or "character", and - a second channel suitable for conveying a symbol code.

De façon connue, ce code-symbole doit appartenir à un domaine choisi de codes-symboles, et c'est le rôle du processeur 10 que de passer d'un signal d'ordre au code-symbole correspondant, et inversement.In known manner, this symbol code must belong to a chosen domain of symbol codes, and it is the role of the processor 10 to pass from an order signal to the corresponding symbol code, and vice versa.

A cet effet, il est classique de recourir à des tables, qui sont généralement stockées dans des fichiers.For this purpose, it is conventional to use tables, which are generally stored in files.

Dans la plupart des cas, la table fournira directement la correspondance entre l'ordre relatif à un symbole particulier et le code-symbole associé.In most cases, the table will directly provide the correspondence between the order relating to a particular symbol and the associated symbol code.

La Demanderesse a observé que cette façon de procéder comporte un inconvénient majeur.The Applicant has observed that this method of proceeding has a major drawback.

En effet, il existe de nombreuses situations où un symbole présente des variantes, comme le cas du "a" et du "à, déjà cités.Indeed, there are many situations where a symbol presents variants, such as the case of "a" and "to, already mentioned.

Dans les applications évoluées de l'informatique, il est souhaitable de pouvoir distinguer entre ces variantes, car cette distinction constitue une information utile. Mais il est également souhaitable de pouvoir mesurer leur similitude, qui est également une information utile.In advanced computer applications, it is desirable to be able to distinguish between these variants, since this distinction constitutes useful information. But it is also desirable to be able to measure their similarity, which is also useful information.

Avec les systèmes classiques à tables, dès lors que l'on veut distinguer deux variantes d'un même symbole, on aboutit nécessairement à deux codes différents. Et le seul moyen pour disposer en outre de l'information de similitude est de créer d'autres tables, qui regroupent les codes correspondants à des symboles similaires. Mais cette solution est difficile à mettre en oeuvre lorsque l'on doit traiter non seulement les caractères accentués usuels, mais aussi des ensembles complexes tels que les caractères syllabiques des langues orientales.With classic table systems, when you want to distinguish two variants of the same symbol, you necessarily end up with two different codes. And the only way to additionally have similarity information is to create other tables, which group the codes corresponding to similar symbols. But this solution is difficult to implement when it is necessary to treat not only the usual accented characters, but also complex sets such as the syllabic characters of the oriental languages.

Mais le premier problème qui se pose est d'assurer la spécificité du codage, et son extensibilité. En effet, dès lors que l'on veut compliquer la spécification d'un symbole, il faut pouvoir étendre la technique de codage utilisée.But the first problem which arises is to ensure the specificity of the coding, and its extensibility. Indeed, as soon as we want to complicate the specification of a symbol, we must be able to extend the coding technique used.

Pour cela, l'invention prévoit d'abord que le signal d'ordre désignant un symbole est constitué à partir d'un jeu prédé- terminé de codes-ordres numériques, que l'on appellera ci-après "jetons". For this, the invention firstly provides that the order signal designating a symbol consists of a predefined set of digital order codes, which will be called hereinafter "tokens".

Ce jeu doit être le même quelle que soit la source des données à traiter dans l'application concernée. C'est-à-dire que si par exemple on utilise un clavier qui a son propre mode de codage, il conviendra de convertir ce mode de codage d'ordre du clavier dans le jeu de codes-ordres de la présente invention.This game must be the same regardless of the source of the data to be processed in the application concerned. That is to say that if, for example, a keyboard is used which has its own coding mode, this order coding mode of the keyboard should be converted into the set of command codes of the present invention.

Pour une bonne compréhension de la présente invention, il est préférable de décrire d'abord le domaine où sont définis les codes-symboles (figures 3 et 4).For a good understanding of the present invention, it is preferable to first describe the field in which the symbol codes are defined (FIGS. 3 and 4).

L'extensibilité des codes-symboles selon la présente invention est assurée par le fait que le codage ne s'effectue pas sur une longueur fixe. A titre d'exemple, la figure 4 illustre les plages de définition d'octets CO à C4, avec les bornes de plage en hexadécimal, et l'étendue numérique de chaque plage en décimal. Ici, CO est libre, et peut aller de
OOh à FFh (selon la notation courante d'un octet en hexadécimal, identifiée par le suffixe "h"). La figure 3 illustre quatre longueurs de codage de codes-symboles L possibles, et le nombre de possibilités qu'elles offrent. Par définition, nous associons à une longueur de codage donnée un sous-ensemble donné. Chaque sous-ensemble offre un nombre de possibilités de codes-symboles qui croit avec la longueur qu'il représente. Cette notion de sous-ensemble, si elle permet de clarifier la compréhension du présent descriptif, n'est cependant pas nécessaire à la définition de l'invention.
The extensibility of the symbol codes according to the present invention is ensured by the fact that the coding is not carried out over a fixed length. By way of example, FIG. 4 illustrates the ranges of definition of bytes CO to C4, with the range limits in hexadecimal, and the numerical extent of each range in decimal. Here, CO is free, and can range from
OOh to FFh (according to the current notation of a byte in hexadecimal, identified by the suffix "h"). FIG. 3 illustrates four possible coding lengths of symbol codes L, and the number of possibilities that they offer. By definition, we associate a given subset with a given coding length. Each subset offers a number of possibilities for code-symbols which grows with the length it represents. This notion of subset, if it makes it possible to clarify the understanding of the present description, is however not necessary for the definition of the invention.

Nous définissons un sous-ensemble comme étant constitué de multiplets terminaux appartenant à des plages de valeurs identiques. Néanmoins, ces deux multiplets n'auront pas nécessairement des valeurs identiques.We define a subset as consisting of terminal bytes belonging to ranges of identical values. However, these two bytes will not necessarily have identical values.

- L = 1, avec un seul octet C1, defini sur la plage OOh-7Fh.- L = 1, with a single byte C1, defined on the range OOh-7Fh.

(cet octet unique est à la fois le début et la fin du codesymbole).(this single byte is both the beginning and the end of the symbolic code).

- L = 2, avec un octet de début appartenant à la plage C2 et un octet de fin C2, tous deux définis sur la plage 80h-BFh.- L = 2, with a start byte belonging to the range C2 and an end byte C2, both defined in the range 80h-BFh.

- L = 3, avec un octet de début appartenant à la plage C3 et un octet de fin C3, tous deux définis sur la plage COh-DFh, l'octet intermédiaire CO étant libre.- L = 3, with a start byte belonging to the range C3 and an end byte C3, both defined on the range COh-DFh, the intermediate byte CO being free.

- L = 4, avec un octet de début appartenant à la plage C4 et un octet de fin C4, tous deux définis sur la plage EOh-EFh, les deux octets intermédiaires CO étant libres.- L = 4, with a start byte belonging to the range C4 and an end byte C4, both defined on the range EOh-EFh, the two intermediate bytes CO being free.

Ces quatre sous-ensembles offrent déjà respectivement 128, 4096, 218 et 224 possibilités de codage de codes-symboles différents. La plage libre de FOh à FFh permet l'extension à d'autres sous-ensembles encore plus riches de possibilités.These four subsets already offer 128, 4096, 218 and 224 respectively for coding different symbol codes. The free range from FOh to FFh allows the extension to other subsets even richer in possibilities.

On notera que le code-symbole C1 constitué d'un seul octet peut reprendre le code ASCII standard.Note that the C1 symbol code consisting of a single byte can use the standard ASCII code.

La symétrie de définition des deux octets terminaux (début et fin) possède deux avantages - elle permet tout d'abord une vérification; - en second lieu, elle permet de parcourir des chaînes de codes-symboles dans les deux sens (gauche vers droite et droite vers gauche) avec la même efficacité. The symmetry of definition of the two terminal bytes (start and end) has two advantages - it allows a verification first; - secondly, it makes it possible to browse symbol code chains in both directions (left to right and right to left) with the same efficiency.

Il convient cependant de noter que ce n'est pas à proprement parler la symétrie du codage qui intervient ici mais le fait que pour une longueur de code donnée (L), les octets de début et de fin sont contraints d'appartenir à des plages de valeurs bien précises et que les plages correspondant à des longueurs différentes sont disjointes. Le fait d'avoir choisi les mêmes plages pour les octets initiaux et terminaux n'est pas indispensable mais simplifie le codage et permet d'utiliser une seule table au lieu de deux pour les parcours de chaînes dans les deux sens et les vérifications.It should however be noted that it is not strictly speaking the symmetry of the coding which intervenes here but the fact that for a given code length (L), the start and end bytes are forced to belong to ranges very precise values and that the ranges corresponding to different lengths are disjoint. The fact of having chosen the same ranges for the initial and terminal bytes is not essential but simplifies the coding and makes it possible to use a single table instead of two for the traversing of strings in both directions and the verifications.

Des sous-domaines sont définis dans les sous-ensembles de L=2 à L=4, à l'aide d'une information associée au premier octet du code. Par exemple, les sous-ensembles peuvent être partitionnés de la manière suivante.Sub-domains are defined in the subsets of L = 2 to L = 4, using information associated with the first byte of the code. For example, the subsets can be partitioned as follows.

L Valeur du ler octet Organisation 2 80h - 9Fh 16 sous-domaines de 128 2 AOh - AFh 16 sous-domaines de 64 2 BOh - B7h 16 sous-domaines de 32 2 2 BFh 64 sous-domaines de 1 3 COh - c7h 8 sous-domaines de 8192 3 C8h - CFh 16 sous-domaines de 4096 3 3 D8h - DBh 1 sous-domaine de 32768 (hangul) 3 DCh - DFh 1 sous-domaine de 32768 (kanji)
Ce moyen permet de partitionner de manière arbitraire un espace de codage très large au moyen d'une simple table à 256 entrées, chaque entrée contenant - le nombre d'octets sur lequel le caractère est codé (L), - le nombre de sous-domaines pour cette valeur de l'octet initial ou le numéro de séquence de l'octet initial à l'intérieur d'un sous-domaine s'étendant sur plusieurs octets initiaux (cas du sous-domaine des kanjis).
L Value of the 1st byte Organization 2 80h - 9Fh 16 sub-domains of 128 2 AOh - AFh 16 sub-domains of 64 2 BOh - B7h 16 sub-domains of 32 2 2 BFh 64 sub-domains of 1 3 COh - c7h 8 sub-domains of 8192 3 C8h - CFh 16 sub-domains of 4096 3 3 D8h - DBh 1 sub-domain of 32768 (hangul) 3 DCh - DFh 1 sub-domain of 32768 (kanji)
This means makes it possible to arbitrarily partition a very large coding space by means of a simple table with 256 entries, each entry containing - the number of bytes on which the character is coded (L), - the number of sub- domains for this value of the initial byte or the sequence number of the initial byte inside a sub-domain extending over several initial bytes (case of the kanji sub-domain).

Au moyen d'une simple table, on peut ainsi partitionner l'espace de codage en un grand nombre de sous-domaines de tailles variées. Dans la pratique, les tailles de sous-domaines seront des puissances de 2, afin de permettre des traitements plus efficaces.By means of a simple table, it is thus possible to partition the coding space into a large number of subdomains of various sizes. In practice, the sizes of sub-domains will be powers of 2, in order to allow more effective treatments.

Ces sous-domaines seront utilisés pour coder des ensembles de caractères formant un tout cohérent. Par exemple, les 24 lettres grecques minuscules et les 24 majuscules rempliront un sous-domaine de 64 codes, les syllabes hangul formées d'une consonne hangul (30), d'une voyelle hangul (21) et d'une consonne hangul (30) rempliront (partiellement) un sous-domaine de 32768 codes.These subdomains will be used to code sets of characters forming a coherent whole. For example, the 24 lowercase Greek letters and the 24 capital letters will fill a sub-domain of 64 codes, the hangul syllables formed by a hangul consonant (30), a hangul vowel (21) and a hangul consonant (30 ) will (partially) fill in a sub-domain of 32768 codes.

L'étape suivante du codage consiste à exprimer les symboles à coder sous forme de suites de jetons. Certains jetons désigneront des formes ou caractères de base (par exemple la lettre latine "A", l'accent grave, ...), d'autres jetons désigneront des opérations altérant les formes de base (par exemple majuscule/minuscule, rotations, ...).The next step in coding is to express the symbols to be coded as a sequence of tokens. Some tokens will designate basic forms or characters (for example the Latin letter "A", the grave accent, ...), other tokens will designate operations altering the basic forms (for example upper / lower case, rotations, ...).

Chaque jeton sera composé d'une catégorie et d'un transformé.Each token will consist of a category and a transform.

Par exemple, le jeton "lettre latine A" sera le transformé numéro 0 de la catégorie "lettre latine", le jeton "lettre latine Z" étant le transformé numéro 25 de cette mêie catégorie. Les opérateurs majuscule et minuscule seront deux transformés de la catégorie "opérateurs majuscule/minuscule".For example, the token "Latin letter A" will be the transform number 0 of the category "Latin letter", the token "Latin letter Z" being the transform number 25 of this same category. The upper and lower case operators will be two transforms of the category "upper / lower case operators".

En exprimant les symboles à coder sous forme de suites de jetons ainsi constitués, on obtiendra un ensemble de suites dans lequel on pourra identifier des sous-ensembles "réguliers". Par exemple, les lettres latines majuscules et minuscules seront toutes exprimées sous la forme d'un jeton de la catégorie "lettre latine" suivi d'un jeton de la catégorie "opérateurs majuscule/minuscule". Typiquement, les suites régulières seront constituées de jetons appartenant à des catégories bien déterminées mais ayant des transformés différents.By expressing the symbols to be coded in the form of sequences of tokens thus formed, we will obtain a set of sequences in which we can identify "regular" subsets. For example, the upper and lower case Latin letters will all be expressed in the form of a token of the "Latin letter" category followed by a token of the "upper / lower case operators" category. Typically, the regular sequences will consist of tokens belonging to well-defined categories but having different transforms.

Le codage consistera donc à associer chaque suite régulière à un des sous-domaines de codage défini précédemment. Une description de la suite des catégories sera attachée au sous-domaine de codage. Chaque symbole à coder aura un numéro de séquence unique à l'intérieur de son sous-domaine. Ce numéro de séquence sera obtenu à l'aide d'un calcul simple et générique sur les transformés des jetons constituant le symbole (par exemple pour les lettres latines majuscules et minuscules, on pourra multiplier le transformé majuscule/ai- nuscule (1 ou 0) par 32 et y ajouter le transformé "lettre latine" (0 à 25). Il conviendra bien sùr de choisir la taille du sous-domaine associé à une suite régulière de manière à ce que ce sous-domaine puisse contenir tous les transformés possibles de la suite régulière.Coding will therefore consist in associating each regular sequence with one of the coding sub-fields defined above. A description of the continuation of the categories will be attached to the coding sub-domain. Each symbol to be coded will have a unique sequence number within its sub-domain. This sequence number will be obtained using a simple and generic calculation on the transforms of the tokens constituting the symbol (for example for the upper and lower case Latin letters, we can multiply the upper / lower case transform (1 or 0 ) by 32 and add the transform "latin letter" (0 to 25). It will of course be necessary to choose the size of the sub-domain associated with a regular sequence so that this sub-domain can contain all the possible transforms of the regular suite.

Le mode de codage décrit ci-dessus est bien adapté aux suites régulières et denses de caractères. Il y a cependant un certain nombre de caractères singuliers ou de suites très disséminées (par exemple, les digraphes de lettres latines sont très peu nombreux en comparaison des 26 x 26 x 2 digraphes possibles). Pour prendre en compte ces cas particuliers dans le système de codage, on permettra aux suites régulières de décrire des suites d'intervalles de jetons et non plus simplement des suites de catégories de jetons, un intervalle de jeton étant un intervalle de transformés pour une catégorie de jetons donnée. Les intervalles de jetons pourront être réduits à un seul transformé, par exemple dans le cas du codage de caractères singuliers. L'organisation des sous-domaines permet de définir un grand nombre de sous-domaines de petite taille (éventuellement un seul code) qui seront associés à ces cas particuliers.The coding mode described above is well suited to regular and dense character strings. There are however a certain number of singular characters or very scattered sequences (for example, the digraphs of Latin letters are very few in comparison with the 26 x 26 x 2 possible digraphs). To take these special cases into account in the coding system, regular sequences will be allowed to describe sequences of token intervals and no longer simply sequences of token categories, a token interval being an interval of transforms for a category given tokens. The token intervals may be reduced to a single transform, for example in the case of the encoding of singular characters. The organization of the subdomains makes it possible to define a large number of small subdomains (possibly a single code) which will be associated with these particular cases.

De son côté, l'unité centrale de traitement est agencée pour constituer - un premier automate, capable de répondre à la présentation d'un code-ordre, en fournissant à partir de celui-ci, d'une part une donnée dite de catégorie, d'autre part un transformé, - un deuxième automate, qui dispose d'une pluralité prédéterminée de suites d'intervalles de jetons, auxquelles il est capable de faire correspondre une pluralité de sous-domaines respectifs disjoints dans le domaine choisi des codes-syibo- les. En conséquence, lorsqu'on lui présente une suite particulière de jetons, ce second automate va identifier la suite d'intervalles de jetons correspondant et désigner l'un des sous-domaines dans le domaine des codes-symboles, - un troisième automate, capable d'analyser séquentiellement les codes-ordres d'un signal d'ordre reçu. L'analyse séquentielle de ces codes-ordres ne pose pas de problème de début ni de fin, car il s'agit d'un ordre, ou si l'on préfère d'une instruction, auquel cas tout système informatique sait a priori déterminer quel sont le début et la fin de l'ordre ou de l'instruction.For its part, the central processing unit is designed to constitute - a first automaton, capable of responding to the presentation of an order code, by supplying therefrom, on the one hand, a so-called category datum , on the other hand a transformed, - a second automaton, which has a predetermined plurality of sequences of token intervals, to which it is capable of matching a plurality of respective sub-domains disjoint in the chosen domain of codes- syibo- les. Consequently, when presented with a particular sequence of tokens, this second automaton will identify the sequence of corresponding token intervals and designate one of the sub-domains in the field of symbol codes, - a third automaton, capable to sequentially analyze the order codes of a received order signal. The sequential analysis of these order codes does not pose a problem of beginning or end, because it is an order, or if we prefer an instruction, in which case any computer system knows a priori how to determine what are the beginning and the end of the order or instruction.

Cette analyse s'effectue en fonction d'une règle d'analyse prédéterminée. Le plus simple est de prendre les codes-ordres dans l'ordre dans lequel ils se présentent.This analysis is carried out according to a predetermined analysis rule. The easiest way is to take the order codes in the order in which they appear.

Pour chaque code-ordre, ce troisième automate tire du premier automate la donnée de catégorie et le transformé correspondant.For each order code, this third automaton pulls the category data from the first automaton and transforms it correspondingly.

Lorsque l'analyse séquentielle des codes-ordres est terminée, le troisième automate tire du second automate la suite d'intervalles de jetons et l'indication du sous-domaine associé à la suite de couples (catégorie sous-domaine et des transformés des codes-ordres ainsi obtenus.When the sequential analysis of the order codes is finished, the third automaton draws from the second automaton the sequence of token intervals and the indication of the sub-domain associated with the sequence of couples (category sub-domain and transforms of the codes -Orders thus obtained.

De cette manière, on assure qu'il est possible, en allongeant à volonté la séquence de codes-ordres, de pouvoir spécifier tout code-symbole avec le niveau de sophistication désiré.In this way, it is ensured that it is possible, by lengthening at will the sequence of order codes, to be able to specify any symbol code with the desired level of sophistication.

Ce calcul peut être rendu très simple. En effet, la donnée de catégorie, ainsi que le transformé sont une conversion de chaque code-ordre. L'intervalle de jeton correspondant doit couvrir une certaine étendue numérique, que l'on arrondira à la puissance de 2 supérieure. Pour calculer le numéro de séquence du symbole dans son sous-domaine, on partira d'une valeur de O et, pour chaque code-ordre, on multipliera la valeur du numéro de séquence précédemment obtenu par l'étendue numérique de l'intervalle de jeton correspondant (arrondie à la puissance de 2 supérieure) et on lui ajoutera la différence entre le transformé du code-ordre et la borne inférieure de l'intervalle de jeton correspondant.This calculation can be made very simple. Indeed, the category data, as well as the transformed are a conversion of each code-order. The corresponding token interval must cover a certain numerical range, which will be rounded up to the power of 2 higher. To calculate the sequence number of the symbol in its subdomain, we will start with a value of O and, for each code, we will multiply the value of the sequence number previously obtained by the numerical range of the interval of corresponding token (rounded to the power of 2 higher) and we will add the difference between the transform of the order code and the lower bound of the corresponding token interval.

Un exemple type de calcul de numéro de séquence est illustré sur la figure 6. Les symboles E et è de cette figure doivent être considérés comme des exemples théoriques, et non coure les lettres latines, qui font déjà partie de la table ASCII.A typical example of sequence number calculation is illustrated in Figure 6. The symbols E and è in this figure should be considered as theoretical examples, not the Latin letters, which are already part of the ASCII table.

Dans la pratique, la lettre latine è est codée selon l'invention par LA + 0 * 25 + 4.In practice, the Latin letter è is coded according to the invention by LA + 0 * 25 + 4.

A partir de ce numéro de séquence et de la donnée du sous-domaine, on pourra calculer le code-symbole.From this sequence number and from the data in the sub-domain, the symbol code can be calculated.

L'unicité du codage selon la présente invention peut être assurée à la base par le fait que la pluralité prédéterminée d'intervalles de jetons reconnus est choisie de façon qu'il existe une seule suite d'intervalles de jetons pour un seul et même symbole spécifique à coder. Ceci est en soi suffisant pour assurer l'unicité.The uniqueness of the coding according to the present invention can be ensured at the base by the fact that the predetermined plurality of intervals of recognized tokens is chosen so that there exists a single series of intervals of tokens for a single and same symbol. specific to code. This in itself is sufficient to ensure uniqueness.

Incidemment, s'il advient qu'une suite de codes-ordres se traduit par une suite d'intervalles de jetons n'appartenant pas à ladite pluralité prédéterminée, on se trouve alors dans une situation d'erreur pour laquelle il existe des techniques générales de traitement connues, dont il n'est pas nécessaire de décrire ici comment elles pourraient s'appliquer au cas de la présente invention.Incidentally, if it happens that a series of order codes results in a series of token intervals that do not belong to said predetermined plurality, we are then in an error situation for which there are general techniques known processing methods, of which it is not necessary to describe here how they could apply to the case of the present invention.

Il est possible de distinguer des codes-ordres opérateurs et des codes-ordres opérandes, et de considérer les suites de codes-ordres comme des formules algébriques. Cette distinction est parfaitement connue de l'homme du métier, elle ne fera donc pas l'objet d'une description détaillée.It is possible to distinguish operator order codes and operand order codes, and to consider sequences of order codes as algebraic formulas. This distinction is perfectly known to those skilled in the art, so it will not be the subject of a detailed description.

Pour décoder, il faut tout d'abord extraire le premier octet du code-symbole. A partir de ce premier octet, on obtient par simple consultation de table la longueur du code-symbole (en octets) et une information décrivant l'organisation en sous-domaines. A partir de cette information et du contenu du ou des octets suivants, on peut déterminer le sous-domaine de codage et le numéro de séquence à l'intérieur de ce sous-domaine. Ensuite, on consulte une table qui fournit pour chaque sous-domaine de codage la suite d'intervalles de jetons correspondants (inverse du deuxième automate de codage).To decode, you must first extract the first byte from the symbol code. From this first byte, the length of the symbol code (in bytes) and information describing the organization into sub-domains are obtained by simple table consultation. From this information and the content of the following byte (s), the coding sub-domain and the sequence number inside this sub-domain can be determined. Then, we consult a table which provides for each coding sub-domain the sequence of corresponding token intervals (inverse of the second coding machine).

A partir du numéro de séquence dans le sous-domaine et de la suite d'intervalles de jeton, on peut recalculer les transformés correspondant à chacun des jetons de la suite (par une série de divisions et d'extractions de modulos, inverse de la série de multiplications et additions effectuées par le troisième automate de codage). On obtient ainsi la suite de jetons décodée.From the sequence number in the sub-domain and the sequence of token intervals, we can recalculate the transforms corresponding to each of the tokens in the sequence (by a series of divisions and modulo extractions, inverse of the series of multiplications and additions made by the third coding machine). The decoded sequence of tokens is thus obtained.

Pour le transcodage, on se servira de tables qui pourront être générées, automatiquement à partir de descriptions de correspondances : suites de jetons < -- > code-symbole externes.For transcoding, we will use tables that can be generated automatically from descriptions of correspondences: sequences of tokens <-> external symbol code.

Il en est de même au niveau du transcodage qui peut être requis pour passer de codes-symboles exprimés selon une autre technique que celle ici décrite, qui peut également se faire à l'aide d'une simple table.It is the same at the level of transcoding which may be required to pass from code-symbols expressed by another technique than that described here, which can also be done using a simple table.

En d'autres termes, le codage de symboles en machine s'effectue selon l'invention de la manière suivante
Dans une première étape, on établit un signal d'ordre qui désigne un symbole. Ce signal d'ordre est établi à partir d'un jeu prédéterminé de codes-ordres numériques.
In other words, the machine coding of symbols is carried out according to the invention in the following manner
In a first step, an order signal is established which designates a symbol. This order signal is established from a predetermined set of digital order codes.

Dans une seconde étape, on fait correspondre à ce signal d'ordre un code-symbole, appartenant à un domaine choisi de codes-symboles. Cette seconde étape comprend les opérations suivantes 1) on analyse séquentiellement la suite de codes-ordres constituant le signal d'ordre, en fonction d'une règle d'analyse prédéterminée; 2) on fait correspondre à chaque code-ordre de ladite suite une donnée de catégorie, ainsi qu'un transformé associé; 3) on détermine la suite d'intervalles de jetons associée à la suite de codes-ordres; 4) on détermine un sous-domaine du domaine des codes-symboles qui correspond à cette suite d'intervalles de jetons; et 5) on calcule le code-symbole associé à la séquence de codes-ordres analysée en fonction du sous-domaine et des transformés des codes-ordres ainsi obtenus. In a second step, this order signal is made to correspond to a symbol code, belonging to a chosen field of symbol codes. This second step comprises the following operations: 1) the sequence of order codes constituting the order signal is analyzed sequentially, as a function of a predetermined analysis rule; 2) a category datum, as well as an associated transform, is made to correspond to each order code of said sequence; 3) the sequence of token intervals associated with the sequence of order codes is determined; 4) a subdomain of the domain of symbol codes is determined which corresponds to this sequence of token intervals; and 5) the symbol code associated with the sequence of order codes analyzed is calculated as a function of the subdomain and of the transforms of the order codes thus obtained.

Claims (9)

RevendicationsClaims 1. Dispositif électronique de codage de symboles, comprenant: - une première voie, propre à véhiculer un signal d'ordre qui désigne un symbole, - une seconde voie, propre à véhiculer un code-symbole, appartenant à un domaine choisi de codes-symboles, et - des moyens de traitement pour passer du signal d'ordre au code-symbole, caractérisé en ce que, le signal d'ordre étant constitué & partir d'un jeu prédéterminé de codes-ordres numériques (appelés jetons), les moyens de traitement comprennent, en combinaison: - de premiers moyens, capables en réponse à la présentation d'un code-ordre, de fournir une donnée de catégorie, ainsi qu'un transformé, - de seconds moyens, propres à établir une correspondance entre une pluralité prédéterminée de suites d'intervalles de transformées associés chacun à une catégorie de jetons donnée (appelée suite d'intervalles de jetons), et une pluralité de sous-domaines respectifs disjoints dans le domaine des codessymboles, - de troisièmes moyens pour analyser séquentiellement les suites de codes-ordres du signal d'ordre, en fonction d'une règle d'analyse prédéterminée, en obtenant des premiers moyens la donnée de catégorie et le transformé de chaque code-ordre, et des seconds moyens le sous-domaine associé à la suite d'intervalles de jetons associée au signal d'ordre, et - des moyens de calcul pour calculer le code-symbole associé à la séquence de codes-ordres analysée en fonction du sousdomaine et des transformés des codes-ordres ainsi obtenus. 1. Electronic symbol coding device, comprising: - a first channel, suitable for carrying an order signal which designates a symbol, - a second channel, suitable for carrying a symbol code, belonging to a chosen field of codes - symbols, and - processing means for passing from the order signal to the symbol code, characterized in that, the order signal being constituted from a predetermined set of digital order codes (called tokens), the processing means comprise, in combination: - first means, capable in response to the presentation of an order code, of supplying a category datum, as well as a transformed, - second means, suitable for establishing a correspondence between a predetermined plurality of sequences of transform intervals each associated with a given category of tokens (called sequence of token intervals), and a plurality of respective disjoint sub-domains in the domain of codessymbols , - third means for sequentially analyzing the sequences of order codes of the order signal, as a function of a predetermined analysis rule, by obtaining from the first means the category data and the transform of each order code, and second means the subdomain associated with the sequence of token intervals associated with the order signal, and - calculation means for calculating the symbol code associated with the sequence of order codes analyzed as a function of the subdomain and transformed from the order codes thus obtained. 2. Dispositif selon la revendication 1, caractérisé en ce que les sous-domaines sont respectivement associés à des intervalles de valeurs du multiplet élémentaire de codage, chaque sous-domaine étant astreint à ce que le multiplet de début du codage et le multiplet de fin du codage appartiennent à un même intervalle de valeurs, moyennant quoi la donnée d'un sous-domaine permet d'obtenir la longueur du codage.2. Device according to claim 1, characterized in that the sub-domains are respectively associated with intervals of values of the elementary coding byte, each sub-domain being constrained so that the byte of coding start and the byte of end of the coding belong to the same range of values, whereby the data of a sub-domain makes it possible to obtain the length of the coding. 3. Dispositif selon la revendication 2, caractérisé en ce que le codage à un seul multiplet correspond au code ASCII standard à 7 bits.3. Device according to claim 2, characterized in that the coding with a single byte corresponds to the standard ASCII code at 7 bits. 4. Dispositif selon l'une des revendications précédentes, caractérisé en ce que les transformés sont directement obtenus à partir de bits parmi les moins significatifs du code-ordre, tandis que les catégories sont obtenues à partir de bits parmi les plus significatifs du code-ordre.4. Device according to one of the preceding claims, characterized in that the transforms are directly obtained from among the least significant bits of the order code, while the categories are obtained from among the most significant bits of the code- order. 5. Dispositif selon l'une des revendications précédentes, caractérisé en ce que ladite pluralité prédéterminée de suites d'intervalles de jetons est choisie de façon qu'il existe une seule suite d'intervalles de jetons pour un seul et même symbole spécifique à coder.5. Device according to one of the preceding claims, characterized in that said predetermined plurality of sequences of token intervals is chosen so that there is a single sequence of token intervals for a single specific symbol to be coded . 6. Dispositif selon l'une des revendications précédentes, caractérisé en ce que les moyens de calcul sont propres à calculer et conserver une grandeur égale à la somme de la différence entre le transformé d'un jeton et la borne inférieure de l'intervalle de ce jeton, et le produit de la valeur précédente de cette grandeur par l'étendue numérique dudit intervalle.6. Device according to one of the preceding claims, characterized in that the calculation means are suitable for calculating and keeping a quantity equal to the sum of the difference between the transform of a token and the lower limit of the interval of this token, and the product of the previous value of this quantity by the numerical extent of said interval. 7. Dispositif selon l'une des revendications précédentes, caractérisé en ce que les moyens de traitement comprennent en outre des moyens de décodage, propres à faire correspondre à un code-symbole la suite de codes-ordres correspondante. 7. Device according to one of the preceding claims, characterized in that the processing means further comprise decoding means, adapted to make a corresponding symbol code sequence correspond to a corresponding code code. 8. Dispositif selon l'une des revendications précédentes, caractérisé en ce que les moyens de traitement comprennent en outre des moyens de transcodage, propres à faire correspondre à un codage de symboles d'une autre nature que celle utilisée la suite de codes-ordres correspondante.8. Device according to one of the preceding claims, characterized in that the processing means further comprise transcoding means, adapted to correspond to a coding of symbols of a different nature than that used following the sequence of command codes corresponding. 9. Procédé de codage de symboles en machine, dans lequel: a) on établit un signal d'ordre qui désigne un symbole, et b) on fait correspondre à ce signal d'ordre un code-symbole, appartenant à un domaine choisi de codes-symboles, caractérisé en ce que - à l'étape a), le signal d'ordre est établi à partir d'un jeu prédéterminé de codes-ordres numériques, et - l'étape b) comprend les opérations suivantes:9. Machine coding method, in which: a) an order signal which designates a symbol is established, and b) this order signal is made to correspond to a code-symbol belonging to a chosen field of symbol codes, characterized in that - in step a), the order signal is established from a predetermined set of digital order codes, and - step b) comprises the following operations: bl) analyser séquentiellement les codes-ordres du signal d'ordre, en fonction d'une règle d'analyse prédéterminée, bl) sequentially analyzing the order codes of the order signal, according to a predetermined analysis rule, b2) faire correspondre à chaque code-ordre une donnée de catégorie, ainsi qu'un transformé associé, b2) match each order code with a category datum, as well as an associated transform, b3) déterminer la suite d'intervalles de jetons associés à la suite de codes-ordres, b3) determine the sequence of token intervals associated with the sequence of order codes, b4) déterminer un sous-domaine du domaine des codes-sy}- boles qui correspond à cette suite d'intervalles de jetons, et b4) determine a sub-domain of the domain of sy-codes} - boles which corresponds to this sequence of token intervals, and b5) calculer le code-symbole associé à la séquence de codes-ordre analysée en fonction du sous-domaine et des transformés des codes-ordres ainsi obtenus.  b5) calculating the symbol code associated with the sequence of order codes analyzed as a function of the subdomain and of the transforms of the order codes thus obtained.
FR9402884A 1994-03-11 1994-03-11 Device for coding symbols such as characters. Expired - Fee Related FR2717281B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9402884A FR2717281B1 (en) 1994-03-11 1994-03-11 Device for coding symbols such as characters.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9402884A FR2717281B1 (en) 1994-03-11 1994-03-11 Device for coding symbols such as characters.

Publications (2)

Publication Number Publication Date
FR2717281A1 true FR2717281A1 (en) 1995-09-15
FR2717281B1 FR2717281B1 (en) 1996-07-26

Family

ID=9460962

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9402884A Expired - Fee Related FR2717281B1 (en) 1994-03-11 1994-03-11 Device for coding symbols such as characters.

Country Status (1)

Country Link
FR (1) FR2717281B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3709957A1 (en) * 1987-03-26 1988-10-06 Merk Gmbh Telefonbau Fried Method of saving memory capacity for digital information storage
DE3837843A1 (en) * 1988-11-08 1990-05-10 Heribert Portugall Data compression on character basis for external memories of computers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3709957A1 (en) * 1987-03-26 1988-10-06 Merk Gmbh Telefonbau Fried Method of saving memory capacity for digital information storage
DE3837843A1 (en) * 1988-11-08 1990-05-10 Heribert Portugall Data compression on character basis for external memories of computers

Also Published As

Publication number Publication date
FR2717281B1 (en) 1996-07-26

Similar Documents

Publication Publication Date Title
EP2870561B1 (en) Method of water-marking digital books
Eder Style-markers in authorship attribution: a cross-language study of the authorial fingerprint
WO2016023471A1 (en) Methods for processing handwritten inputted characters, splitting and merging data and encoding and decoding processing
FR2933514A1 (en) SIMILARITY ENCODING AND DECODING METHODS AND DEVICES FOR XML TYPE DOCUMENTS
CN110750993A (en) Word segmentation method, word segmentation device, named entity identification method and system
FR2933793A1 (en) METHODS OF ENCODING AND DECODING, BY REFERENCING, VALUES IN A STRUCTURED DOCUMENT, AND ASSOCIATED SYSTEMS.
FR2929778A1 (en) METHODS AND DEVICES FOR ITERATIVE BINARY CODING AND DECODING FOR XML TYPE DOCUMENTS.
FR2926378A1 (en) METHOD AND PROCESSING DEVICE FOR ENCODING A HIERARCHISED DATA DOCUMENT
EP0261997A1 (en) Method for recognizing handwriting
KR20190136911A (en) method and device for retelling text, server and storage medium
WO2007004408A1 (en) Information processing device, information processing method, and information processing program
FR2686437A1 (en) FACTORS OF A REGULAR EXPRESSION FOR THE SCAN OF SETS OF MULTIPLE BYTE CHARACTERS USING A SINGLE BYTECT AUTOMATED MACHINE.
FR2927712A1 (en) METHOD AND DEVICE FOR ACCESSING PRODUCTION OF A GRAMMAR FOR PROCESSING A HIERARCHISED DATA DOCUMENT.
CN112528637A (en) Text processing model training method and device, computer equipment and storage medium
CN116738985B (en) Standardized processing method and device for medical text
FR2930660A1 (en) METHOD FOR ACCESSING A PART OR MODIFYING A PART OF A BINARY XML DOCUMENT, ASSOCIATED DEVICES
CN102682248B (en) Watermark embedding and extracting method for ultrashort Chinese text
FR2717281A1 (en) Coding system for characters of ASCII and foreign language symbols
FR2901037A1 (en) Reference structural pattern generating method for computer, involves determining reference structural pattern per group of determined primary structural patterns, where reference pattern represents patterns of group
FR2818408A1 (en) Orthographic correction of captured alphanumeric characters keyed into reduced key keyboard of a television remote control or mobile phone uses T9 system for text processing
Barry 'It's hard fuh me to understand what you mean, de way you tell it': Representing Language in Zora Neale Hurston's Their Eyes Were Watching God
JP5085975B2 (en) Japanese proper expression extraction device, Japanese proper expression extraction method, and program for causing computer to execute the method
Zheng et al. General Framework for Reversible Data Hiding in Texts Based on Masked Language Modeling
FR2842623A1 (en) METHOD FOR TRANSLATING A MESSAGE FROM A FIRST LANGUAGE LANGUAGE INTO A SECOND LANGUAGE LANGUAGE
Buckley et al. Topic modeling

Legal Events

Date Code Title Description
ST Notification of lapse