解码方法及解码装置的制造方法_3

文档序号:9528010阅读:来源:国知局
储区域并且能够消除用于解码处理的存储区域的浪费。另外,由于解码和转换处理能够实现字符码转换处理,而不将所有解码数据累积进存储区域中或从存储区域中读取解码数据,所以能够缩短处理时间。
[0062]根据实施方式的解码和转换处理的示例
[0063]图4A至图4L是示出了根据实施方式的解码和转换处理的示例的图。如图4A所示,在存储器中保障存储区域A1至A4、B1和B2中的每一个存储区域。另外,将指针PB1、PB2和PA2中的每一个设置在存储器中。存储区域Al、A2、B1和B2以及指针PB1、PB2和PA2具有与图1B中所示的解码处理中的那些相同的配置。存储区域A3称为例如“中间解码部”。存储区域A4称为例如“字符转换部”。将文件F1中的内容部分的编码数据读入存储区域B1中。在读缓冲器B1中,包括了编码数据,该编码数据通过由LZ系统对要处理的字符串^一才扣右十二才圭的UTF-8码进行编码而获得。假定包括在读缓冲器B1中的“Δ Δ Δ”为字符串“才扣右”的编码数据。另外,假定该编码数据为通过以上所描述的对最长匹配数据的搜索而获得的格式的数据。
[0064]在这样的情形下,在解码和转换处理中,将图4Α所示的文件F1中的内容部分的数据读入存储区域Β1中。在解码和转换处理中,将读入存储区域Β1中的编码数据顺序地读出至存储区域Α1中。指针ΡΒ1是指向存储区域Β1中的编码数据中的要读出的位置的读指针。在该情况下,将存储区域Β1中的编码数据“0bE2h”读出至存储区域Α1中。在解码和转换处理中,针对所读出的编码数据,执行根据包括在编码数据中的标识符的解码处理。在解码和转换处理中,如果标识符是表示编码数据不基于最长匹配数据的标识符(图2A至图2F的示例中的“0”),则对编码数据的一个字符进行解码,并且将解码后的一个字符存入存储区域A2和存储区域A3中。由于标识符为“0”,所以将字符码自身“E2h” (0xE2)存入存储区域A2和存储区域A3中。在解码和转换处理中,将所存储的字符码的长度作为存储长度存入主区域L1。在该情况下,在主区域L1中,存储表示存储长度是一个字节的“1”。通过解码和转换处理,指针PB1和指针PA2的内容然后被更新。
[0065]接下来,如图4B所示,在解码和转换处理中,通过使用存储在存储区域A3中的解码数据的头字节,获得与一个字符对应的字符码的长度作为字符长度。例如基于存储有头字节与字符长度之间的对应的对应表来获得字符长度。在解码和转换处理中,将所获得的字符长度存入主区域L2中。在该情况下,由于头字节为“E2”,将表示字符长度是三个字节的“3”存入主区域L2中。在解码和转换处理中,确定存储在存储区域A3中的解码数据的长度是否等于或大于所获得的字符长度。在解码和转换处理中,如果确定该长度等于或大于所获得字符长度,则将达到所获得的字符长度的解码数据存入存储区域A4中,相反地,如果确定该长度不等于或大于所获得的字符长度,则解码和转换处理进行至下一解码处理。在该情况下,由于存储在存储区域A3中的解码数据的长度是如存储在主区域L1中的“1”,并且字符长度是如存储在主区域L2中的“3”,所以确定存储在存储区域A3中的解码数据的长度不等于或大于字符长度。然后解码和转换处理进行至下一解码处理。
[0066]接下来,如图4C所示,在解码和转换处理中,经由指针PB1将存储区域B1中的编码数据“ObBCh”读出至存储区域A1。在解码和转换处理中,针对所读出的编码数据,执行根据包括在编码数据中的标识符的解码处理。在该情况下,由于标识符为“0”,所以将字符码自身“BCh” (OxBC)存入存储区域A2和存储区域A3中。在解码和转换处理中,然后将存储在存储区域A3中的字符码的长度存入主区域L1中。在该情况下,根据上次的一个字节与这次的一个字节,将表示长度是两个字节的“2”存入主区域L1中。通过解码和转换处理,指针PB1和指针PA2的内容然后被更新。
[0067]接下来,如图4D所示,在解码和转换处理中,通过使用存储在存储区域A3中的解码数据的头字节,获得与一个字符对应的字符码的长度作为字符长度。在解码和转换处理中,将所获得的字符长度存储在主区域L2中。在该情况下,由于头字节为“E2”,所以将表示字符长度是三个字节的“3”存入主区域L2中。在解码和转换处理中,确定存储在存储区域A3中的解码数据的长度是否等于或大于所获得的字符长度。在该情况下,由于存储在存储区域A3中的解码数据的长度是如存储在主区域L1中的“2”,并且字符长度是如存储在主区域L2中的“3”,所以确定存储在存储区域A3中的解码数据的长度不等于或大于字符长度。然后解码和转换处理进行至下一解码处理。
[0068]接下来,如图4E所示,在解码和转换处理中,经由指针PB1将存储区域B1中的编码数据“0b98h”读出至存储区域A1中。在解码和转换处理中,针对所读出的编码数据,执行根据包括在编码数据中的标识符的解码处理。在该情况下,由于标识符为“0”,所以将字符码自身“98h” (0x98)存入存储区域A2和存储区域A3中。在解码和转换处理中,然后将存储在存储区域A3中的字符码的总长度存入主区域L1中。在该情况下,根据上次的两个字节与这次的一个字节,将表示长度是三个字节的“3”存储进主区域L1中。在解码和转换处理中,指针PB1和指针PA2的内容然后被更新。
[0069]接下来,如图4F所示,在解码和转换处理中,通过使用存储在存储区域A3中的解码数据的头字节,获得与一个字符对应的字符码的长度作为字符长度。在解码和转换处理中,将所获得的字符长度存储在主区域L2中。在该情况下,由于头字节为“E2”,所以将表示字符长度为三个字节的“3”存储在主区域L2中。在解码和转换处理中,确定存储在存储区域A3中的解码数据的长度是否等于或大于所获得的字符长度。在该情况下,由于存储在存储区域A3中的解码数据的长度是如存储在主区域L1中的“3”,并且字符长度是如存储在主区域L2中的“3”,所以确定存储在存储区域A3中的解码数据的长度等于或大于字符长度。
[0070]在解码和转换处理中,如果确定该长度等于或大于所获得的字符长度,则经由存储区域A4将与来自存储区域A3的头部的字符长度对应的解码数据转换成转换目的地的字符码。例如,在解码和转换处理中,基于存储在存储区域A3中的字符码,从字符码转换表中获得转换目的地的字符码。在解码和转换处理中,将所获得字符码存入存储区域A4中。本文中的字符码转换表表示用于字符码转换的表。图4F示出了针对字符“ + ”的用于UTF-8与Shift JIS之间的字符码转换中的字符码转换表的示例。在该情况下,在解码和转换处理中,基于与字符长度(3)对应的UTF-8的“E2BC98”,从字符码转换表中获得转换目的地Shift JIS的“8F5C”并且将其存储在存储区域A4中。
[0071]在解码和转换处理中,然后将存储在存储区域A4中的字符码存入存储区域B2中。在解码和转换处理中,将存储在主区域L1中的存储长度更新为“0”并且将存储区域A3中的经受了转换的解码数据向左移动。因此,在存储区域A3中,清除了解码数据中的要转换的目的地。因此,通过解码和转换处理,在顺序地对编码数据进行解码的同时,识别出字符的末尾并且达到字符的末尾的解码数据能够经受字符码转换。
[0072]随后,在解码和转换处理中,重复该解码处理和转换处理。如图4G所示,在解码和转换处理中,针对与存储在存储区域B1中的编码数据中的“十一才扣右”对应的编码数据,将通过从UTF-8至Shift JIS的转换所获得的字符码存入存储区域B2中。
[0073]接下来,如图4H所示,在解码和转换处理中,经由指针PB1将存储区域B1中的编码数据“Ib0000h05h”读出至存储区域A1。在解码和转换处理中,针对所读出的编码数据,执行根据包括在编码数据中的标识符的解码处理。在该情况下,在解码和转换处理中,由于标识符为“ 1 ”,所以基于包括在编码数据中的最长匹配数据的数据长度和关于最长匹配数据的位置的信息,从存储区域A2中读出字符码串并且对编码数据进行解码。S卩,在解码和转换处理中,基于表示最长匹配数据的数据长度的“05h”以及表示关于位置的信息的“ OOOOh ”,读出字符码串“E2BC98hE386h ”并且对编码数据进行解码。在解码和转换处理中,将所读出的字符串“E2BC98hE386h”存入存储区域A2和存储区域A3中。指针PB1和指针PA2然后被更新。
[0074]接下来,如图41所示,在解码和转换处理中,通过使用存储在存储区域A3中的解码数据的头字节,获得与一个字符对应的字符码的长度作为字符长度。在解码和转换处理中,将所获得的字符长度存入主区域L2。在该情况下,由于头字节为“E2”,所以将表示字符长度是三个字节的“3”存入主区域L2中。在解码和转换处理中,确定存储在存储区域A3中的解码数据的长度是否等于或大于所获得的字符长度。在该情况下,由于存储在存储区域A3中的解码数据的长度是如存储在主区域L1中的“5”,并且字符长度是如存储在主区域L2中的“3”,所以确定存储在存储区域A3中的解码数据的长度等于或大于字符长度。
[0075]在解码和转换处理中,如果确定该长度等于或大于所获得的字符长度,则经由存储区域A4将达到所获得的字符长度的解码数据转换成转换目的地的字符码。例如,在解码和转换处理中,基于存储在存储区域A3中的字符码,从字符码转换表中获得转换目的地的字符。在解码和转换处理中,将所获得的字符存入存储区域A4中。在该情况下,在解码和转换处理中,基于与字符长度(3)对应的UTF-8的“E2BC98”,从字符码转换表中获得转换目的地Shift JIS的“8F5C”并且将其存入存储区域A4。
[0076]在解码和转换处理中,将存储在存储区域A4中的字符码存入存储区域B2中。在解码和转换处理中,将存储在主区域L1中的存储长度更新为“2”,并且将存储区域A3中的经受了转换的解码数据向左移动。因此,在存储区域A3中,存储“E386”。因此,通过解码和转换处理,在顺序地对
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1