欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于unicode編碼的廣泛支持各類信息存儲(chǔ)的支持關(guān)系型數(shù)據(jù)的文件格式的制作方法

文檔序號(hào):12034560閱讀:240來(lái)源:國(guó)知局
一種基于unicode編碼的廣泛支持各類信息存儲(chǔ)的支持關(guān)系型數(shù)據(jù)的文件格式的制作方法與工藝

本發(fā)明涉及的是計(jì)算機(jī)在存儲(chǔ)信息時(shí)所使用的文件格式,具體地說(shuō),本發(fā)明是一種使用unicode編碼進(jìn)行存儲(chǔ),允許在文件中嵌入二進(jìn)制編碼,允許軟件商對(duì)文件來(lái)源進(jìn)行校檢,并且能夠存儲(chǔ)一切可以通過(guò)文本形式和二進(jìn)制形式進(jìn)行表示的數(shù)據(jù),支持關(guān)系型數(shù)據(jù)表示的文件格式。



背景技術(shù):

當(dāng)代軟件發(fā)展日新月異,將個(gè)人數(shù)據(jù)存儲(chǔ)在文件中,方便下次使用時(shí)進(jìn)行訪問(wèn),是現(xiàn)在軟件必不可少的一種功能。比如用戶對(duì)軟件的設(shè)置信息,往往會(huì)被保存在ini格式的配置文件當(dāng)中;游戲存檔,也會(huì)被保存在由軟件商自行定制的格式的文件中;歌詞,會(huì)被保存在lrc文件中;網(wǎng)頁(yè)當(dāng)中的一些布局信息,會(huì)保存在xml文件中。

在當(dāng)前信息交換中,xml是一種通用標(biāo)記語(yǔ)言,但是,其沒(méi)有針對(duì)關(guān)系型數(shù)據(jù)進(jìn)行優(yōu)化,在表達(dá)關(guān)系型數(shù)據(jù)時(shí)存在大量冗余信息,并且,xml沒(méi)有專門的文件來(lái)源校檢信息存儲(chǔ)區(qū)域,廠商如果有此類需要,必須自己對(duì)xml進(jìn)行拓展,不具備廣泛性。在上述兩種使用場(chǎng)景下,xml不能很好地滿足用戶的需求。

文件采用文本格式的方式進(jìn)行存儲(chǔ),非常方便閱讀和修改,并且用戶可以方便地開發(fā)相關(guān)軟件對(duì)文本信息進(jìn)行修改,例如字幕采用的srt格式就是使用文本方式存儲(chǔ)的,現(xiàn)在已經(jīng)出現(xiàn)了不少srt字幕制作軟件,它們通過(guò)用戶的操作來(lái)對(duì)文本信息進(jìn)行修改,但修改的方式又嚴(yán)格符合srt標(biāo)準(zhǔn),方便用戶制作字幕,lrc歌詞文件也是類似的。在當(dāng)前存儲(chǔ)文本信息的編碼規(guī)范中,unicode是使用最為廣泛的編碼格式,因?yàn)閡nicode幾乎支持全世界所有的語(yǔ)言,具有極高的通用性,使用unicode進(jìn)行編碼是未來(lái)文本格式發(fā)展的必然趨勢(shì)。而二進(jìn)制數(shù)據(jù)則允許用戶存儲(chǔ)一些通過(guò)文本形式不能或很難表達(dá)的數(shù)據(jù),比如視頻,音頻,圖片等。



技術(shù)實(shí)現(xiàn)要素:

一種基于unicode編碼的廣泛支持各類信息存儲(chǔ)的支持關(guān)系型數(shù)據(jù)的文件格式;所述文件格式是以u(píng)nicode編碼存儲(chǔ)的,通過(guò)對(duì)文件文本格式上的限制,并支持嵌入二進(jìn)制數(shù)據(jù),使得其能夠廣泛支持各類信息的存儲(chǔ);所述文件格式支持自定義類,對(duì)關(guān)系型數(shù)據(jù)提供了較好的支持;原生支持來(lái)源校檢,使得企業(yè)可以通過(guò)自己設(shè)置的獨(dú)立加密算法,校檢文件中相關(guān)區(qū)域的值,以便確認(rèn)該文件是否來(lái)自可信機(jī)構(gòu);原生支持索引區(qū)域,方便文件較大時(shí)快速定位到所需區(qū)域;

文件的unicode采用utf-8編碼;

文件支持在任何位置注釋,注釋的格式為:

#<注釋內(nèi)容>#

注釋內(nèi)容要求使用文本格式進(jìn)行描述,不允許使用二進(jìn)制編碼;

文件支持的基本數(shù)據(jù)類型包括:integer,float,string,datetime,binary;

integer格式是用文本形式存儲(chǔ)的一串阿拉伯?dāng)?shù)字,規(guī)定其支持的范圍為-9223372036854775808~9223372036854775808;

float是通過(guò)文本形式存儲(chǔ)的一串阿拉伯?dāng)?shù)字和一個(gè)“.”字符,規(guī)定其支持的范圍為-9223372036854775808.0~9223372036854775808.0,小數(shù)點(diǎn)后不超過(guò)6位;

string格式是通過(guò)文本形式存儲(chǔ)的字符串;

datetime是通過(guò)文本形式存儲(chǔ)的時(shí)間信息,格式如下:

<月><日><年><時(shí)><分><秒>

月日年時(shí)分秒均是文本形式存儲(chǔ)的阿拉伯?dāng)?shù)字;月的格式是兩位阿拉伯?dāng)?shù)字,從01~12,日的格式是兩位阿拉伯?dāng)?shù)字,從01~31;年的格式是四位阿拉伯?dāng)?shù)字,從0000~9999;時(shí)的格式是兩位阿拉伯?dāng)?shù)字,從00~23;分的格式是兩位阿拉伯?dāng)?shù)字,從00~59;秒的格式是兩位阿拉伯?dāng)?shù)字,從00~59;

binary用于存儲(chǔ)文本無(wú)法描述的數(shù)據(jù),它的格式如下:

<byte數(shù)>?<二進(jìn)制編碼>

byte數(shù)描述本數(shù)據(jù)的二進(jìn)制編碼長(zhǎng)度,是一個(gè)string格式的數(shù)據(jù),只允許出現(xiàn)阿拉伯?dāng)?shù)字字符;二進(jìn)制編碼處以二進(jìn)制編碼形式存儲(chǔ)占用空間為byte數(shù)的一串二進(jìn)制編碼;

文件包含下面幾部分:(1)文件基本信息區(qū)域;(2)來(lái)源校檢區(qū)域;(3)索引區(qū)域;(4)關(guān)系數(shù)據(jù)類型定義區(qū)域;(5)數(shù)據(jù)區(qū)域;

(1)文件基本信息區(qū)域定義如下:

!?<文件基本名稱>?<文件來(lái)源>?<文件發(fā)布時(shí)間>?<文件描述>?<自定義數(shù)據(jù)段>?!

文件基本名稱、文件來(lái)源、文件描述均采用string格式字符串進(jìn)行表示;文件發(fā)布時(shí)間采用datetime數(shù)據(jù)類型表示,自定義數(shù)據(jù)段表示方法如下:

<信息一標(biāo)題>?<信息一數(shù)據(jù)類型>?<信息一描述>?<信息二標(biāo)題>?<信息二數(shù)據(jù)類型>?<信息二描述>……

以此類推,可以繼續(xù)存儲(chǔ)信息三、信息四等;

信息標(biāo)題和信息數(shù)據(jù)類型是以string格式存儲(chǔ)的,信息描述是以該信息的數(shù)據(jù)類型存儲(chǔ)的;

(2)來(lái)源校檢區(qū)域定義如下:

!?<來(lái)源標(biāo)識(shí)一>?<來(lái)源標(biāo)識(shí)一校檢碼>?<來(lái)源標(biāo)識(shí)二>?<來(lái)源標(biāo)識(shí)二校檢碼>?<來(lái)源標(biāo)識(shí)三>?<來(lái)源標(biāo)識(shí)三校檢碼>?……?!

以此類推,可繼續(xù)添加來(lái)源標(biāo)識(shí)四,來(lái)源標(biāo)識(shí)五等;

來(lái)源標(biāo)識(shí)和來(lái)源標(biāo)識(shí)校檢碼均采用string格式存儲(chǔ);

(3)索引區(qū)域定義如下:

!?<索引標(biāo)題一>?<索引標(biāo)題一指定文件當(dāng)中的字節(jié)數(shù)>?<索引標(biāo)題二>?<索引標(biāo)題二指定文件當(dāng)中的字節(jié)數(shù)>?<索引標(biāo)題三>?<索引標(biāo)題三指定文件當(dāng)中的字節(jié)數(shù)>?……?!

以此類推,可繼續(xù)添加索引標(biāo)題四,索引標(biāo)題五等;

索引標(biāo)題和索引標(biāo)題指定文件當(dāng)中的字節(jié)數(shù)均采用string格式存儲(chǔ);

(4)關(guān)系數(shù)據(jù)類型定義區(qū)域定義如下:

!$<類一名稱>?<變量一名稱>?<變量一數(shù)據(jù)類型>?<變量一初始值>?<變量二名稱>?<變量二數(shù)據(jù)類型>?<變量二初始值>……$<類二名稱>?<變量一名稱>?<變量一數(shù)據(jù)類型>?<變量一初始值>?<變量二名稱>?<變量二數(shù)據(jù)類型>?<變量二初始值>……$……$!

以此類推,可繼續(xù)存儲(chǔ)變量四的值、變量五的值,可繼續(xù)定義類三、類四,如果某變量需要使用默認(rèn)值,則該變量值留空;

關(guān)系型數(shù)據(jù)類型的表達(dá)方式如下:

<變量一的值>?<變量二的值>?<變量三的值>……

關(guān)系型數(shù)據(jù)中的變量的數(shù)據(jù)類型也允許是自定義的類,也就是說(shuō),關(guān)系型數(shù)據(jù)類型支持嵌套;

類名稱、變量名稱和變量數(shù)據(jù)類型是以string格式存儲(chǔ)的,變量初始值是以該變量的數(shù)據(jù)類型存儲(chǔ)的;

以此類推,可繼續(xù)存儲(chǔ)變量三,變量四等;

(5)數(shù)據(jù)區(qū)域定義如下:

!

?<數(shù)據(jù)一名稱>?<數(shù)據(jù)一數(shù)據(jù)類型>?<數(shù)據(jù)一數(shù)據(jù)內(nèi)容>?

?<數(shù)據(jù)二名稱>?<數(shù)據(jù)二數(shù)據(jù)類型>?<數(shù)據(jù)二數(shù)據(jù)內(nèi)容>?

……

!

以此類推,可繼續(xù)添加數(shù)據(jù)三、數(shù)據(jù)四等;

文件中上述<>內(nèi)包含的內(nèi)容,存在的其他編碼規(guī)則:

(1)%轉(zhuǎn)為%%;

(2)回車用%c表示;

(3)換行用%n表示;

(4)?轉(zhuǎn)為%?;

(5)!轉(zhuǎn)為%!;

(6)#轉(zhuǎn)為%#;

(7)$轉(zhuǎn)為%$。

附圖說(shuō)明

圖1是文件結(jié)構(gòu)的示意圖。

圖2是一份完整的文件示例。

具體實(shí)施方式

文件的unicode采用utf-8編碼;

文件支持在任何位置注釋,注釋的格式為:

#<注釋內(nèi)容>#

注釋內(nèi)容要求使用文本格式進(jìn)行描述,不允許使用二進(jìn)制編碼;

文件支持的基本數(shù)據(jù)類型包括:integer,float,string,datetime,binary;

integer格式是用文本形式存儲(chǔ)的一串阿拉伯?dāng)?shù)字,規(guī)定其支持的范圍為-9223372036854775808~9223372036854775808;

float是通過(guò)文本形式存儲(chǔ)的一串阿拉伯?dāng)?shù)字和一個(gè)“.”字符,規(guī)定其支持的范圍為-9223372036854775808.0~9223372036854775808.0,小數(shù)點(diǎn)后不超過(guò)6位;

string格式是通過(guò)文本形式存儲(chǔ)的字符串;

datetime是通過(guò)文本形式存儲(chǔ)的時(shí)間信息,格式如下:

<月><日><年><時(shí)><分><秒>

月日年時(shí)分秒均是文本形式存儲(chǔ)的阿拉伯?dāng)?shù)字;月的格式是兩位阿拉伯?dāng)?shù)字,從01~12,日的格式是兩位阿拉伯?dāng)?shù)字,從01~31;年的格式是四位阿拉伯?dāng)?shù)字,從0000~9999;時(shí)的格式是兩位阿拉伯?dāng)?shù)字,從00~23;分的格式是兩位阿拉伯?dāng)?shù)字,從00~59;秒的格式是兩位阿拉伯?dāng)?shù)字,從00~59;

binary用于存儲(chǔ)文本無(wú)法描述的數(shù)據(jù),它的格式如下:

<byte數(shù)>?<二進(jìn)制編碼>

byte數(shù)描述本數(shù)據(jù)的二進(jìn)制編碼長(zhǎng)度,是一個(gè)string格式的數(shù)據(jù),只允許出現(xiàn)阿拉伯?dāng)?shù)字字符;二進(jìn)制編碼處以二進(jìn)制編碼形式存儲(chǔ)占用空間為byte數(shù)的一串二進(jìn)制編碼;

文件包含下面幾部分:(1)文件基本信息區(qū)域;(2)來(lái)源校檢區(qū)域;(3)索引區(qū)域;(4)關(guān)系數(shù)據(jù)類型定義區(qū)域;(5)數(shù)據(jù)區(qū)域;

(1)文件基本信息區(qū)域定義如下:

!?<文件基本名稱>?<文件來(lái)源>?<文件發(fā)布時(shí)間>?<文件描述>?<自定義數(shù)據(jù)段>?!

文件基本名稱、文件來(lái)源、文件描述均采用string格式字符串進(jìn)行表示;文件發(fā)布時(shí)間采用datetime數(shù)據(jù)類型表示,自定義數(shù)據(jù)段表示方法如下:

<信息一標(biāo)題>?<信息一數(shù)據(jù)類型>?<信息一描述>?<信息二標(biāo)題>?<信息二數(shù)據(jù)類型>?<信息二描述>……

以此類推,可以繼續(xù)存儲(chǔ)信息三、信息四等;

信息標(biāo)題和信息數(shù)據(jù)類型是以string格式存儲(chǔ)的,信息描述是以該信息的數(shù)據(jù)類型存儲(chǔ)的;

(2)來(lái)源校檢區(qū)域定義如下:

!?<來(lái)源標(biāo)識(shí)一>?<來(lái)源標(biāo)識(shí)一校檢碼>?<來(lái)源標(biāo)識(shí)二>?<來(lái)源標(biāo)識(shí)二校檢碼>?<來(lái)源標(biāo)識(shí)三>?<來(lái)源標(biāo)識(shí)三校檢碼>?……?!

以此類推,可繼續(xù)添加來(lái)源標(biāo)識(shí)四,來(lái)源標(biāo)識(shí)五等;

來(lái)源標(biāo)識(shí)和來(lái)源標(biāo)識(shí)校檢碼均采用string格式存儲(chǔ);

(3)索引區(qū)域定義如下:

!?<索引標(biāo)題一>?<索引標(biāo)題一指定文件當(dāng)中的字節(jié)數(shù)>?<索引標(biāo)題二>?<索引標(biāo)題二指定文件當(dāng)中的字節(jié)數(shù)>?<索引標(biāo)題三>?<索引標(biāo)題三指定文件當(dāng)中的字節(jié)數(shù)>?……?!

以此類推,可繼續(xù)添加索引標(biāo)題四,索引標(biāo)題五等;

索引標(biāo)題和索引標(biāo)題指定文件當(dāng)中的字節(jié)數(shù)均采用string格式存儲(chǔ);

(4)關(guān)系數(shù)據(jù)類型定義區(qū)域定義如下:

!$<類一名稱>?<變量一名稱>?<變量一數(shù)據(jù)類型>?<變量一初始值>?<變量二名稱>?<變量二數(shù)據(jù)類型>?<變量二初始值>……$<類二名稱>?<變量一名稱>?<變量一數(shù)據(jù)類型>?<變量一初始值>?<變量二名稱>?<變量二數(shù)據(jù)類型>?<變量二初始值>……$……$!

以此類推,可繼續(xù)存儲(chǔ)變量四的值、變量五的值,可繼續(xù)定義類三、類四,如果某變量需要使用默認(rèn)值,則該變量值留空;

關(guān)系型數(shù)據(jù)類型的表達(dá)方式如下:

<變量一的值>?<變量二的值>?<變量三的值>……

關(guān)系型數(shù)據(jù)中的變量的數(shù)據(jù)類型也允許是自定義的類,也就是說(shuō),關(guān)系型數(shù)據(jù)類型支持嵌套;

類名稱、變量名稱和變量數(shù)據(jù)類型是以string格式存儲(chǔ)的,變量初始值是以該變量的數(shù)據(jù)類型存儲(chǔ)的;

以此類推,可繼續(xù)存儲(chǔ)變量三,變量四等;

(5)數(shù)據(jù)區(qū)域定義如下:

!

?<數(shù)據(jù)一名稱>?<數(shù)據(jù)一數(shù)據(jù)類型>?<數(shù)據(jù)一數(shù)據(jù)內(nèi)容>?

?<數(shù)據(jù)二名稱>?<數(shù)據(jù)二數(shù)據(jù)類型>?<數(shù)據(jù)二數(shù)據(jù)內(nèi)容>?

……

!

以此類推,可繼續(xù)添加數(shù)據(jù)三、數(shù)據(jù)四等;

文件中上述<>內(nèi)包含的內(nèi)容,存在的其他編碼規(guī)則:

(1)%轉(zhuǎn)為%%;

(2)回車用%c表示;

(3)換行用%n表示;

(4)?轉(zhuǎn)為%?;

(5)!轉(zhuǎn)為%!;

(6)#轉(zhuǎn)為%#;

(7)$轉(zhuǎn)為%$。

下面以員工信息表為例,給出文件的一個(gè)使用方法:

員工信息包括三個(gè)部分,員工姓名,出生日期,照片。員工的照片采用jpg格式圖片;

文件基本信息區(qū)域,自定義數(shù)據(jù)段描述員工人數(shù)和文件最后修改人:

!?公司員工信息表?武漢市某公司?03132014132615?本表用于存儲(chǔ)本公司的員工信息,包括員工姓名,出生日期和照片?員工人數(shù)?integer?3?最后修改人?string?王生?!

來(lái)源校檢區(qū)域,經(jīng)理和董事長(zhǎng)兩人分別提供了一串字符,這串字符是通過(guò)他們自己的加密方式,根據(jù)文件的最后修改時(shí)間計(jì)算出來(lái)的:

!?經(jīng)理?134711507280?董事長(zhǎng)?%!88hgjkll%?%?%%?!

索引區(qū)域,提供員工李四的索引,假設(shè)李四信息出現(xiàn)的地方位于文件中的第1363148字節(jié)處:

!?李四?1363148?!

關(guān)系數(shù)據(jù)類型定義區(qū)域,定義一個(gè)員工類,為了避免datetime在時(shí)分秒上的不必要數(shù)據(jù),定義一個(gè)生日類:

!

$bir?data?string?19900101$

$employee?name?string?n/a?birthday?datetime?19900101?photo?binary?0?$

!

數(shù)據(jù)區(qū)域,存儲(chǔ)張三,李四,王五三人的信息,適當(dāng)排版:

!

?張三的信息?employee?張三?19850317?<jpg圖片所占字節(jié)>?<這里將照片的jpg文件二進(jìn)制代碼完全粘貼>?

#下面存儲(chǔ)李四信息,前面放置索引#

#假設(shè)這兒是文件的第1363148字節(jié)#

?李四的信息?employee?李四?19950622?<jpg圖片所占字節(jié)>?<這里將照片的jpg文件二進(jìn)制代碼完全粘貼>?

?王五的信息?employee?王五?19891115?<jpg圖片所占字節(jié)>?<這里將照片的jpg文件二進(jìn)制代碼完全粘貼>?

!

以上就是一份完整的文件示例。

針對(duì)這個(gè)企業(yè),可以專門設(shè)置一款軟件用于編輯這個(gè)文件,這個(gè)軟件的功能包括增添和刪除用戶信息,支持把jpg文件內(nèi)嵌到文件當(dāng)中。

針對(duì)不同的使用方式,可以設(shè)計(jì)不同的軟件,但是它們編輯的都是符合這套規(guī)定的文件格式。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
永善县| 苏尼特右旗| 湖北省| 额济纳旗| 彭山县| 江西省| 北宁市| 河东区| 东城区| 玉山县| 连平县| 射洪县| 班戈县| 嵊泗县| 工布江达县| 宽城| 连云港市| 壤塘县| 霍山县| 洛阳市| 莫力| 清徐县| 隆昌县| 四子王旗| 托里县| 鄱阳县| 白玉县| 唐海县| 峡江县| 金寨县| 昌吉市| 红原县| 枞阳县| 土默特左旗| 杭锦旗| 赤壁市| 滕州市| 黎平县| 旅游| 河北区| 淳化县|