CN104850534B - 基于嵌入式多语言文本的存储方法及装置 - Google Patents
基于嵌入式多语言文本的存储方法及装置 Download PDFInfo
- Publication number
- CN104850534B CN104850534B CN201510238079.6A CN201510238079A CN104850534B CN 104850534 B CN104850534 B CN 104850534B CN 201510238079 A CN201510238079 A CN 201510238079A CN 104850534 B CN104850534 B CN 104850534B
- Authority
- CN
- China
- Prior art keywords
- language text
- text
- initial address
- language
- index
- 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.)
- Active
Links
Landscapes
- Machine Translation (AREA)
Abstract
本发明适用于存储器技术领域,提供了一种基于嵌入式多语言文本的存储方法及装置。所述方法包括:建立一级索引、二级索引以及三级存储块;根据建立的所述一级索引、二级索引以及三级存储块存储多语言文本,其中所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据。采用本发明所述的存储结构,可以有效节省存储空间,实现在小存储空间的嵌入式领域多语言文本的存储。
Description
技术领域
本发明属于存储技术领域,尤其涉及一种基于嵌入式多语言文本的存储方法及装置。
背景技术
现有的多语言文本存储大都是基于文件系统,即通过文件系统存储各语言的字符串文件,会占用较多的存储空间。
然而,由于嵌入式存储系统的存储空间有限,现阶段基于嵌入式多语言文本的存储的技术很少,且需要浪费较多的存储空间。
故,有必要提出一种新的技术方案,以解决上述技术问题。
发明内容
鉴于此,本发明实施例提供一种基于嵌入式多语言文本的存储方法及装置,以在解决嵌入式多语言文本存储的同时,节省存储空间。
第一方面,本发明实施例提供了一种基于嵌入式多语言文本的存储方法,所述基于嵌入式多语言文本的存储方法包括:
建立一级索引、二级索引以及三级存储块;
根据建立的所述一级索引、二级索引以及三级存储块存储多语言文本,其中所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据。
第二方面,本发明实施例提供了一种基于嵌入式多语言文本的存储装置,所述基于嵌入式多语言文本的存储装置包括:
建立单元,用于建立一级索引、二级索引以及三级存储块;
存储单元,用于根据建立的所述一级索引、二级索引以及三级存储块存储多语言文本,其中所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例根据建立的一级索引、二级索引以及三级存储块存储多语言文本,其中所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据。采用本发明实施例所述的存储结构,可以有效节省存储空间,实现在小存储空间的嵌入式领域多语言文本的存储,具有较强的易用性和实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于嵌入式多语言文本的存储方法的实现流程示意图;
图2是本发明实施例提供的数据存储的二进制文件的示意图;
图3是本发明实施例提供的基于嵌入式多语言文本的存储装置的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透切理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1为本发明实施例提供的基于嵌入式多语言文本的存储方法的实现流程,其主要包括以下步骤:
在步骤S101中,建立一级索引、二级索引以及三级存储块。
在本发明实施例中,所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据。
其中,所述一级索引主要是针对多语言文本的文件头,示例性的描述如下:
Cn:String地址[3bytes]+条目数[2bytes]中文
En:String地址[3bytes]+条目数[2bytes]英文
Jp:String地址[3bytes]+条目数[2bytes]日文
每个语言文本由5个字节组成,String地址记录的是String对应语言文本的二级索引起始地址;条目数是指该语言文本的总条目数。
另外,所述二级索引记录的每条条目的起始地址是指每条条目存储的纯文本数据的起始地址。当从一级索引获取语言文本的起始地址后,根据所述条目数获取纯文本数据的偏移量,再根据所述偏移量定位到相应的条目,从该条目中获取纯文本数据的起始地址。
进一步的,所述三级存储块中存储的纯文本数据的格式可以表示为:
数据长度+纯文本数据。
示例性的,
源中文文本:“你好。”其纯文本数据(只包含引号内的)C4 E3 BA C3 A1 A3(GBK编码);
存储格式为:数据长度(2个字节)+纯文本数据,即:00 06 C4 E3 BA C3 A1 A3。
需要说明的是,由于本发明主要是应用于小型嵌入式的多语言文本存储,因此所述条目数最好小于或等于两字节,即65535条字符串;所述纯文本数据最好小于或等于16M。
在步骤S102中,根据建立的所述一级索引、二级索引以及三级存储块存储多语言文本。
作为本发明的另一较佳实例,在存储多语言文本之后,还可以包括:
根据用户所选择的语言文本进行切换。
其中,所述根据用户所选择的语言文本进行切换具体可以包括:
接收用户所选择的待切换语言文本;
根据所述一级索引中记录的各语言文本的起始地址获取所选择的语言文本的起始地址,并根据该起始地址以及所述一级索引中记录的所选择的语言文本的条目数获取所选择的语言文本对应的纯文本数据的偏移量;
根据所述偏移量以及所述二级索引中记录的条目的起始地址,获取存储所述纯文本数据的起始地址;
根据所述纯文本数据的起始地址从所述三级存储块对应的存储位置获取所述纯文本数据进行显示。
举例说明如下:
源文本:中文.txt里面的内容为:
1.“你好。”
2.“元征科技”
英文.txt里面的内容为:
1.“hello.”
2.“LAUNCH”
日文.txt里面的内容为:
1.“こんにちは.”
2.“LAUNCH”
首先定义语言文本的编号:例如中文:1,英文:2,日文:3等等;
假定总预留有32种语言文本:即开头有5*32=160个字节是一级索引,没有的语言文本填充0。
一级索引决定了二级索引的大小,即条目数总和*3,(2+2+2)*3=18个字节,从而也就确定了三级存储块的起始地址,即:160+18=178=0xB2。
图2示出了采用本发明实施例所述存储结构存储的二级制文件,以图2为例说明语言文本的切换过程:
选择语言文本“中文”,定义的编号为1,即从第0行第0列开始,起始地址占用3个字节,对应图2中的第0行第2列,第0行第2列中的数值为A0,即“中文”的首地址,根据所述A0查找第a行第0列,第a行第0列中的数值为00,条目数为两条(即“1.“你好。”2.“元征科技”),则偏移量为2,即从00->B2,第b行第2列中的数值为00,即纯文本数据的首地址,获取的纯文本数据为00 06 C4 E3 BA C3 A1 A3。
通过本发明实施例不仅可以有效解决嵌入式领域多语言文本存储的问题,而且可以简单、快捷的进行语言间的切换,具有较强的易用性和实用性。
图3为本发明实施例提供的基于嵌入式多语言文本的存储装置的结构示意图。为了便于说明,仅示出了与本发明实施例相关的部分。
所述基于嵌入式多语言文本的存储装置可以是内置于终端设备内的软件单元、硬件单元或者是软硬结合的单元。
所述基于嵌入式多语言文本的存储装置包括:
建立单元31,用于建立一级索引、二级索引以及三级存储块;
存储单元32,用于根据建立的所述一级索引、二级索引以及三级存储块存储多语言文本,其中所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据。
进一步的,所述存储纯文本数据的格式为:
数据长度+纯文本数据。
较佳的,所述数据长度小于或等于两字节,所述纯文本数据小于或等于16M。
进一步的,所述装置还包括:
语言切换单元33,用于在存储多语言文本之后,根据用户所选择的语言文本进行切换。
进一步的,所述语言切换单元33包括:
信息接收模块331,用于接收用户所选择的待切换语言文本;
第一获取模块332,用于根据所述一级索引中记录的各语言文本的起始地址获取所选择的语言文本的起始地址,并根据该起始地址以及所述一级索引中记录的所选择的语言文本的条目数获取所选择的语言文本对应的纯文本数据的偏移量;
第二获取模块333,用于根据所述偏移量以及所述二级索引中记录的条目的起始地址,获取存储所述纯文本数据的起始地址;
显示模块334,用于根据所述纯文本数据的起始地址从所述三级存储块对应的存储位置获取所述纯文本数据进行显示。
综上所述,本发明实施例根据建立的一级索引、二级索引以及三级存储块存储多语言文本,其中所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据。采用本发明实施例所述的存储结构,不仅可以有效节省存储空间,实现在小存储空间的嵌入式领域多语言文本的存储,而且可以简单、快捷的进行语言间的切换,具有较强的易用性和实用性。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
Claims (8)
1.一种基于嵌入式多语言文本的存储方法,其特征在于,所述基于嵌入式多语言文本的存储方法包括:
建立一级索引、二级索引以及三级存储块;
根据建立的所述一级索引、二级索引以及三级存储块存储多语言文本;
其中所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据;
所述一级索引决定二级索引的大小和三级存储块的起始地址;
根据用户所选择的语言文本进行切换。
2.如权利要求1所述的基于嵌入式多语言文本的存储方法,其特征在于,所述存储纯文本数据的格式为:
数据长度+纯文本数据。
3.如权利要求1所述的基于嵌入式多语言文本的存储方法,其特征在于,所述条目数小于或等于两字节,所述纯文本数据小于或等于16M。
4.如权利要求1所述的基于嵌入式多语言文本的存储方法,其特征在于,所述根据用户所选择的语言文本进行切换包括:
接收用户所选择的待切换语言文本;
根据所述一级索引中记录的各语言文本的起始地址获取所选择的语言文本的起始地址,并根据该起始地址以及所述一级索引中记录的所选择的语言文本的条目数获取所选择的语言文本对应的纯文本数据的偏移量;
根据所述偏移量以及所述二级索引中记录的条目的起始地址,获取存储所述纯文本数据的起始地址;
根据所述纯文本数据的起始地址从所述三级存储块对应的存储位置获取所述纯文本数据进行显示。
5.一种基于嵌入式多语言文本的存储装置,其特征在于,所述基于嵌入式多语言文本的存储装置包括:
建立单元,用于建立一级索引、二级索引以及三级存储块;
存储单元,用于根据建立的所述一级索引、二级索引以及三级存储块存储多语言文本,其中所述一级索引用于记录所述多语言文本中各语言文本的起始地址以及各语言文本的条目数,所述二级索引用于记录每条条目的起始地址,所述三级存储块用于存储纯文本数据;
所述一级索引决定二级索引的大小和三级存储块的起始地址;
语言切换单元,用于在存储多语言文本之后,根据用户所选择的语言文本进行切换。
6.如权利要求5所述的基于嵌入式多语言文本的存储装置,其特征在于,所述存储纯文本数据的格式为:
数据长度+纯文本数据。
7.如权利要求5所述的基于嵌入式多语言文本的存储装置,其特征在于,所述条目数小于或等于两字节,所述纯文本数据小于或等于16M。
8.如权利要求5所述的基于嵌入式多语言文本的存储装置,其特征在于,所述语言切换单元包括:
信息接收模块,用于接收用户所选择的待切换语言文本;
第一获取模块,用于根据所述一级索引中记录的各语言文本的起始地址获取所选择的语言文本的起始地址,并根据该起始地址以及所述一级索引中记录的所选择的语言文本的条目数获取所选择的语言文本对应的纯文本数据的偏移量;
第二获取模块,用于根据所述偏移量以及所述二级索引中记录的条目的起始地址,获取存储所述纯文本数据的起始地址;
显示模块,用于根据所述纯文本数据的起始地址从所述三级存储块对应的存储位置获取所述纯文本数据进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510238079.6A CN104850534B (zh) | 2015-05-11 | 2015-05-11 | 基于嵌入式多语言文本的存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510238079.6A CN104850534B (zh) | 2015-05-11 | 2015-05-11 | 基于嵌入式多语言文本的存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104850534A CN104850534A (zh) | 2015-08-19 |
CN104850534B true CN104850534B (zh) | 2018-02-23 |
Family
ID=53850184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510238079.6A Active CN104850534B (zh) | 2015-05-11 | 2015-05-11 | 基于嵌入式多语言文本的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850534B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430685A (zh) * | 2007-11-06 | 2009-05-13 | 施耐德电器工业公司 | 下载方法及其系统 |
CN101916277A (zh) * | 2010-08-11 | 2010-12-15 | 武大吉奥信息技术有限公司 | 一种基于xml格式的地理瓦片多金字塔时态数据集生成方法及其装置 |
US20130101214A1 (en) * | 2011-10-25 | 2013-04-25 | John T. Sample | System and method for converting source image data to tile data |
CN103336772A (zh) * | 2013-04-25 | 2013-10-02 | 中国科学院遥感与数字地球研究所 | 一种新的单景影像瓦片数据组织方法 |
CN103412962A (zh) * | 2013-09-04 | 2013-11-27 | 国家测绘地理信息局卫星测绘应用中心 | 一种海量瓦片数据的存储方法及读取方法 |
CN103744855A (zh) * | 2013-11-29 | 2014-04-23 | 航天恒星科技有限公司 | 一种基于聚合文件的瓦片地图存储方法 |
-
2015
- 2015-05-11 CN CN201510238079.6A patent/CN104850534B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430685A (zh) * | 2007-11-06 | 2009-05-13 | 施耐德电器工业公司 | 下载方法及其系统 |
CN101916277A (zh) * | 2010-08-11 | 2010-12-15 | 武大吉奥信息技术有限公司 | 一种基于xml格式的地理瓦片多金字塔时态数据集生成方法及其装置 |
US20130101214A1 (en) * | 2011-10-25 | 2013-04-25 | John T. Sample | System and method for converting source image data to tile data |
CN103336772A (zh) * | 2013-04-25 | 2013-10-02 | 中国科学院遥感与数字地球研究所 | 一种新的单景影像瓦片数据组织方法 |
CN103412962A (zh) * | 2013-09-04 | 2013-11-27 | 国家测绘地理信息局卫星测绘应用中心 | 一种海量瓦片数据的存储方法及读取方法 |
CN103744855A (zh) * | 2013-11-29 | 2014-04-23 | 航天恒星科技有限公司 | 一种基于聚合文件的瓦片地图存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104850534A (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284145A (zh) | 多语言配置文件的生成和展示方法及装置、设备和介质 | |
CN107592116B (zh) | 一种数据压缩方法、装置及存储介质 | |
CN100566177C (zh) | 转换方法以及系统 | |
CN103593333B (zh) | 一种电子书文档的处理方法、终端及电子设备 | |
CN102866954B (zh) | 内存分配的方法及装置 | |
CN102982130A (zh) | 一种nosql与rdbms的数据库同步方法和系统 | |
US10725958B1 (en) | System, method and apparatus for enabling partial data transfers with indicators | |
CN105988996A (zh) | 一种索引文件生成方法及装置 | |
CN103279427B (zh) | 存储标识符的基于散列的管理方法和系统 | |
CN104933613A (zh) | 分销方法及控制服务器及系统 | |
CN107111461A (zh) | 在基于中央处理单元(cpu)的系统中通过经压缩存储器控制器(cmc)使用背靠背读取操作来提供存储器带宽压缩 | |
CN105323309B (zh) | 一种泡泡资源推送的方法及装置 | |
US11287996B2 (en) | Method, device and computer program product for storing data | |
CN106970913A (zh) | 一种时间的提取方法及装置 | |
CN104503956A (zh) | 粘贴数据的方法、装置及移动终端 | |
CN115525580A (zh) | 一种namespace设置方法、装置及可读存储介质 | |
CN111402959A (zh) | 一种序列比对的方法、系统、设备及可读存储介质 | |
CN107291630B (zh) | 一种高速缓冲存储器处理方法及装置 | |
CN106254270A (zh) | 一种队列管理方法及装置 | |
EP3343395A1 (en) | Data storage method and apparatus for mobile terminal | |
CN103428341B (zh) | 手机联系人的搜索方法和装置 | |
CN107423291A (zh) | 一种数据翻译方法以及客户端设备 | |
CN104850534B (zh) | 基于嵌入式多语言文本的存储方法及装置 | |
CN105446666A (zh) | 一种基于移动终端的全数字序列存储方法及系统 | |
CN201259670Y (zh) | 一种文本信息处理装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |