一种轻量的轻小说文件格式~~

2016-02-11 11:29:41 +08:00
 dphdjy
魔法数(2 bytes)
主版本
元数据区块
- 唯一 ID
- 标题
- 作者
- 发行
- 来源
- ...
数据区块
- 唯一 ID
- 解析方法
- flag
- CRC32 校验
- 数据(protobuf)
-- 类型(默认=TEXT/1 可省略)
-- 内容(string/bytes/link)
拓展区块(类 gzip)

可拆分~重组

前面直接插入 jpeg _(:з)∠)_ 还能当封面~2333

以上纯属 娱乐~ 欢迎来黑~
5583 次点击
所在节点    奇思妙想
42 条回复
Earthman
2016-02-11 20:25:16 +08:00
@msg7086 有时候库函数占用很大空间和时间,还真会自己去造轮子。。。。
dphdjy
2016-02-11 20:29:58 +08:00
@Earthman 比如~前年为了开发某国内小说平台的 android APP 原始数据 txt~我硬是写了 epub 转化+fb 精简版+UI 适配~然后主要放在适配上用了 2 个月

现在看来那时候完全没必要用上这些东西~自己造轮子 一周大概就可以了~那样编写核心问题就在 Android 显示上,也不用后期花几倍时间精简 fb 的各种模块 最后 APP 完成是 2MB 左右来着~
pynix
2016-02-11 21:12:50 +08:00
@dphdjy 。。
yonglanyouyou
2016-02-12 10:08:47 +08:00
诺基亚时代有一种流行的小说文本图片打包格式叫做 umd
fy
2016-02-12 11:39:51 +08:00
LZ , json 啊。文本格式本身在扩展方面有巨大优势,而且别人根本不用费力读你的二进制文档就能生成出差不多的书,同时能将信息丢失的影响减小到最小。

meta 信息首尾各一单行 json 来描述,正文爱用什么用什么, markdown 在段落上丢失信息太多,并不适合电子书。

还不如只是加上一个对图片、加粗、斜体等等简单排版的支持(而且也不是不能扩展)。
dphdjy
2016-02-12 11:49:23 +08:00
@fy 现在就是 json 唷~
结构如下:
zip 壳
- data
-- x.json
- img
-- x
- info
-- book.json
-- vol.json
-- chap.json
- cover

_(:з)∠)_ 感觉做出新格式多好玩 23333

以及粗略统计轻小说的内容格式很单一

md 完全可以胜任

不考虑其他问题,只关注这种格式的需要优化的问题

PS:目前用二进制压玩和 zip 基本没体积优势 2333
fy
2016-02-12 12:35:41 +08:00
@dphdjy 你全文 json 不行的, json 又不能按流来读,假设小说有 10MB 就要全读入内存
fy
2016-02-12 12:38:27 +08:00
@dphdjy markdown 你试试这种文本:

1
2
3

4 5 6




7

再比如写信的格式

OOXX :

XXXXXXXXXXXXXXXXXXXXXXXX.
XXXXXXXXXXXXXX:
OOOOOO
OOOOOOO
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

OOXX
OOXXOOXXOOX


能正确显示才有鬼了
fy
2016-02-12 12:41:06 +08:00
尼玛,空格都被吃了

dphdjy
2016-02-12 13:13:15 +08:00
@fy 来个源文件给你~

http://pan.baidu.com/share/link?shareid=3288077794&uk=655169298

其中 json 是分段储存~

以及上面那
12 什么的(ಥ_ಥ) 那是什么鬼~
不过可以用 pre 框起来~

下面的信~这格式好谜~
这个只有更高等的语法才能表示 233
(如果不表意 pre 依然可以~)

不过这边的原文并没有用到~~

我并不准备做一个 epub 类的万能文档格式~
只是做个轻小说的而已~
ipconfiger
2016-02-12 13:24:08 +08:00
这个轮子造起来既没有实用性也没有技术含量, 有神码意义? 小说本来就是文本, 你用什么二进制的 meta 根本省不到几个 byte, 简直就是脱了裤子放屁, 还不如老老实实用文本的, 实在要节约体积 zip 一下就好了. 发明什么的好歹要以理论为基础用实践为准绳, 这种民科似的发明创造实在是不可取的

ps: 一再强调轻小说什么的, 那是个什么贵, 比重小说要高级?
dphdjy
2016-02-12 13:25:22 +08:00
fy
2016-02-12 13:34:52 +08:00
@dphdjy 好像并没有完全领会意思……
dphdjy
2016-02-12 13:55:52 +08:00
@ipconfiger 关于强调轻小说只是都和 epub 比较

小说是纯文本
文档可以包含各种插入内容,更佳复杂的排版信息

但是轻小说主要就是纯文本+插图
本身就是 txt+jpeg
一般也就是 zip 加个壳

至于上面的二进制什么的~其实只是对 txt 和 jpeg 部分的压缩

meta 是因为压缩之后不可读而已,还有拓展区块的 link
比如对于图片储存什么的可以对整体压缩打包~

我再去加个附言说明
dphdjy
2016-02-12 13:56:25 +08:00
@fy 好像没有~QAQ
dong3580
2016-02-12 15:41:43 +08:00
@fy
还是把 umd 里面文本抽出来,放文件夹 txt ,还是 txt 爽
dphdjy
2016-02-12 16:13:15 +08:00
@fy @ipconfiger @9hills @love @loading @Quaintjade @FFLY 稍微详细的说了一下~~~ QAQ
dphdjy
2016-02-12 16:52:19 +08:00
@dong3580 md 更爽~!!

txt:

虽然这话自己听着都刺耳,可赫萝却平静地回答道。

“要是和人谈起赚钱的事情,咱的利益不就减少了呗?”

如果她不是露出恶作剧般的笑容这样说的话,罗伦斯也许连苦笑着接受那话都很困难。

赫萝起身,轻轻伸个懒腰动了动耳朵。

“不可以太过亲近。”这是他们彼此间心照不宣的重要事项。

可是在注意那件事时事情不但向相反的方向发展了,罗伦斯甚至还曾抛开过那重要事项。

即使是赫萝,在漫长到也许接近永远的旅途中,也绝对不止一次两次踢飞过挡路的大石头。

就算那样,也不能因此改变现实。

赫萝把柯尔比作“使自己保持贤狼的重石”,应该不是夸张的表现。

拿柯尔捉弄罗伦斯除了事情本身很有趣以外,大概也包含自卫的意味在内吧。

为了不越过那条线。

为了将明明明白却无计可施的事情蒙混过去。

将那焦躁作为最低限度的借口。

md:
FFLY
2016-02-12 19:18:22 +08:00
@dphdjy 我说说我之前的想法,首先为了实现跨平台和在线阅读,我把图片和文本做了分别的封包。然后通过标识符和语法,实现简单的排版和图片占位。

123.data - 主封包,包含文本和图片。
123.th.data - 预览用封包,包含小说简介和封面。

之前就是计划这样分开做,还蛋疼的写了个简单校验和加密,后来就没有然后了。
dphdjy
2016-02-12 20:01:16 +08:00
@FFLY (⊙o⊙)哦~和我差不多~来大干一场吧~我准备写一条工具链~

爬虫
- 轻之文库(已完成,然而挂了
- wenku8(完成
- 贴吧(开发中
- 轻国论坛(开发中

转码
- epub2 ,开发中
- txt2 ,完成
- iQing2 ,完成
- md2 ,完成

已有数据
- 网上流传 6g
- iQing 截止 9 月 10g

然后不知道还有啥~2333

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/256067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX