stardict字典文件格式识别类

小说阅读器技术全解析:从开源阅读到自制Android阅读器开发指南 电子书阅读器的核心技术涉及文本解析、渲染引擎与数据管理三大模块。文本解析需要处理TXT、EPUB等多种格式的编码识别与章节拆分,其原理基于正则表达式与文件结构解析。渲染引擎通过自定义View或WebView实现高效排版,直接影响阅读体验的流畅度。在技术价值上,优秀的阅读器能实现跨平台同步、个性化定制与海量内容聚合。应用场景覆盖本地电子书阅读、网络小说追更以及专业文献查阅。本文聚焦开源阅读(Legado)的规则化爬虫引擎与静读天下的专业渲染方案,深入剖析其技术实现,并为Android平台自制阅读器提供核心代码 阅读详情
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace cn.Laiyunqing
{
   
public class nStarDict
    {
       
private string idxFile;
       
private string dictFile;

       
public nStarDict(string idx, string dict)
       {
           
this.idxFile = idx;
           
this.dictFile = dict;
       }

       
public List<string> Words(string key)
       {
           List
<string> words = new List<string>();
           FileStream fsIdx 
= new FileStream(this.idxFile, FileMode.Open, FileAccess.Read);
           BinaryReader brIdx 
= new BinaryReader(fsIdx, Encoding.UTF8);
           
byte[] ch = new byte[4096];
           
byte end = (byte)'';
           
int index = 0;
           
for (index = 0; index < 4096; index++)
               ch[index] 
= (byte)'';
           index 
= 0;
           
while (true)
           {
               
try
               {
                   ch[index] 
= brIdx.ReadByte();
                   index
++;
               }
               
catch (EndOfStreamException)
               {
                   
break;
               }
               
if (ch[index - 1] == end)
               {
                   
byte[] word = new byte[index - 1];
                   
for (int i = 0; i < index - 1; i++)
                   {
                       word[i] 
= ch[i];
                       ch[i] 
= 0;
                   }
                 
string queryString = Encoding.UTF8.GetString(word);
                 
if (queryString.StartsWith(key, true, System.Globalization.CultureInfo.CurrentCulture))
                 {
                     words.Add(queryString);
                 }
               }
           }
           brIdx.Close();
           fsIdx.Close();
           
return words;
       }

       
public string Result(string originalText)
       {
           
string translatedText = string.Empty;
           FileStream fsIdx 
= new FileStream(this.idxFile, FileMode.Open, FileAccess.Read);
           BinaryReader brIdx 
= new BinaryReader(fsIdx, Encoding.UTF8);
           FileStream fsDict 
= new FileStream(this.dictFile, FileMode.Open, FileAccess.Read);
           BinaryReader brDict 
= new BinaryReader(fsDict, Encoding.UTF8);
           
byte[] ch = new byte[4096];
           
byte end = (byte)'';
           
int pos, size;
           
int index = 0;
           
for (index = 0; index < 4096; index++)
               ch[index] 
= (byte)'';
           index 
= 0;
           
while (true)
           {
               
try
               {
                   ch[index] 
= brIdx.ReadByte();
                   index
++;
               }
               
catch (EndOfStreamException)
               {
                   
break;
               }
               
if (ch[index - 1] == end)
               {
                   
byte[] word = new byte[index - 1];
                   
for (int i = 0; i < index - 1; i++)
                   {
                       word[i] 
= ch[i];
                       ch[i] 
= 0;
                   }
                   
string queryString = Encoding.UTF8.GetString(word);

                   index 
= 0;
                   
byte[] tmp = brIdx.ReadBytes(4);
                   pos 
= tmp[3] + (tmp[2] << 8) + (tmp[1] << 16) + (tmp[0] << 24); 
                   tmp 
= brIdx.ReadBytes(4);
                   size 
= tmp[3] + (tmp[2] << 8) + (tmp[1] << 16) + (tmp[0] << 24); 
                   
byte[] content = brDict.ReadBytes(size);
                   
string outText = Encoding.UTF8.GetString(content).Replace(" ", "</br>") + "</br>";
                   
//是查询的单词
                   if (queryString == originalText)
                   {
                       translatedText 
= outText;
                       
break;
                   }
               }
           }
           brDict.Close();
           fsDict.Close();
           brIdx.Close();
           fsIdx.Close();
           
return translatedText;
       }

    }
}
 
Windows编译星际译王(StarDict)教程 星际译王(StarDict)是利用GTK(GIMP TOOLKIT)开发的国际化的、跨平台的自由的桌面字典软件。它并不包含字典档,使用者须自行下载配合使用。它可以运行于多种不同的平台,如Linux, Microsoft Windows ,FreeBSD及Solaris,并使用GPL授权。stardict官网准备工具: 系统:windows10 源码:stardict-2.4.9.tar.xz:下载地址 Dev-C++:下载地址 pkg-config:下载地址 gtk开发环境:gtk±bundle_2.24. 阅读详情

相关推荐

使用C++实现Stardict字典文件读取与SQL转换

在信息技术飞速发展的今天,词典软件已成为日常工作和学习中不可或缺的工具。Stardict,作为一款开源的、支持多语言的词典软件,已经受到了广泛的欢迎。它以简洁的界面、快速的查询响应、丰富的字典资源和灵活的配置而受到用户的青睐。Stardict支持各种类型的字典文件格式,例如 dictator、.ifo等,并且它能够方便地与网络词典资源相连接,极大地方便了用户在特定领域的词汇查询需求。

weixin_29940495的博客 1229

星际译王(StarDict)词典格式分析备忘。

  参照:http://code.google.com/p/babiloo/wiki/StarDict_format stardict词典格式分析 xxxxx.dict or xxxxx.dict.dz xxxxx.idx or xxxxx.idx.gz xxxxx.ifo 

鱼与熊掌 7288

常用stardict字典

几本常用的stardict 的词典,重装stardict直接来下载就好了~

星际译王(stardict)词典安装

安装完星际译王后发现没有词典,使用如下面的步骤安装词典:1、下载词典文件:到http://stardict.sourceforge.net/Dictionaries_zh_CN.php下载词典文件,我选择的是被推荐的cedict-gb dictionary(zh_CN-en)和oxford-gb dictionary(en-zh_CN)牛津现代英汉双解词典。2、把下载到的文件移动到/tmp

coolhty的专栏 1743

stardict词典库(牛津)

ubantu下安装statdict需要使用的词典库文件(牛津英汉词典)

stardict 词典资源

这里一共有四个压缩包,将其解压到/use/share/stardict/dic 里就可以用了,这里有的词典是朗道英汉字典,牛津现代英汉双解词典,简明英汉袖珍辞典,计算机词汇

Stardict 81部中文词典下载

Stardict 81部中文词典下载 By scomper On 2011/07/29 · 25 Comments · In Sharing stardict在sourceforge项目里的词典都不见,估计是由于版权方面的问题导致的,不过以前那些还是可以继续用的,没有下载的可以备份一份。每个字典文件夹里都有一个.ifo文件,可以用记事本打开,就知道是什么字典

hongqiang200的专栏 3万+

stardict英汉字典合集及一键安装脚本

stardict是linux下最好的字典,这是几个字典的压缩合集,包括牛津字典,朗道字典等,里面包含安装执行脚本,sudo ./install_dicts.sh就可以安装,stardict启动时会自动加载

最新最全的stardict词库文件.

各位同学中,使用有道桌面词典的一定不少吧, 是不是觉得自己的词典查的东西不够专业,不够详细? 从下面的词库中添加适合的你...   享受吧.. Stardict 中文词库文件 朗道英汉字典5.0 435468 朗道汉英字典5.0 405719 牛津现代英汉双解词典 39429 CEDICT汉英辞典 31992 懒虫简明英汉词典 452185 懒虫简明汉英词典 119592 ...

weixin_34402090的博客 2095

读取StarDict里的字典文件

NULL 博文链接:https://msino.iteye.com/blog/361888

星际译王Stardict词库 完整打包下载 BT(700+m)

【Stardict的词库现在官方已经无法下载了, 网站上许多转载的词库下载都是直接连接官方之前公布的下载连接, 这些地址已经失效, 目前能直接下载到词库的只有少数的论坛或者FTP.】 星际译王(StarDict)在Linux, Windows, 甚至Mac OS X上都相应的版本, 因为其开源的缘故, 许多智能手机(iPhone, 黑莓, Maemo, Meego, Symbian, WM)都有移植版读取Stardict词库的手机词典. 这词库我自己本人在用的 ---------------部分词典列表----------------------- English 6M. English_German 5M. German_English 7.8M. English_French 5.4M. French_English 3.6M. English_Spanish 4.7M. Spanish_English 5.8M. English_Italian 4.7M. Italian_English 3.2M. English_Dutch 4.5M. Dutch_English 2.1M. English_Portuguese 5M. Portuguese_English 3.8M. English_Hebrew 5.2M. Hebrew_English 2.4M. Hebrew_Thesaurus 3.6M. English_Japanese 5M. Japanese_English 9.7M. English_Chinese_S_ 2.1M. Chinese_S_English 1.9M. English_Chinese_T_ 1.8M. Chinese_T_English 1.9M. English_Russian 3.2M. Russian_English 4.5M. English_Turkish 2.4M. Turkish_English 5.6M. English_Swedish 3.4M. Greek_English 1.5M. English_Greek 1.4M. English-Korean 2M. Korean-English 3.4M. English-Arabic 1.5M. Arabic-English 2.5M. English dictionaries American Heritage Dictionary, 4th Edition 12M. American Heritage Dictionary, 4th Edition - With image 59M. Britannica Concise Encyclopedia 16M. Britannica Pocket Encyclopedia 11M. Oxford Advanced learner's Dictionary 4M. Oxford Talking Dictionary 31M. Cambridge Advanced Learner's Dictionary 6M. Collins COBUILD Advanced Learner's English Dictionary 5.9M. Collins COBUILD V3 7M. Collins COBUILD English Dictionary 6M. WordNet 2.0 13M. Shorter Oxford English Dictionary (Fifth Edition) 24M. Longman Dictionary of Contemporary English (4th Ed) 8M. Longman Dictionary of Contemporary English (4th Ed)w image 28M. American Idioms 780K. Concise Oxford English Dictionary 7M. Concise Oxford Thesaurus 3M. Merriam-Webster Collegiate® Dictionary 33M. Merriam-Webster Collegiate® Thesaurus 2M. Britannica.com 9M. CIA World Factbook 2005 5M. FOLDOC 2.6M. Acronyms from A - Z 1.5M. Most Common Acronyms and Abbreviations 145K. MacMillan English Dictionary -American 5M. Chinese dictionaries 牛津高阶英汉双解词典 13M. 牛津现代英汉双解词典 6M. Kingsoft English-Chinese Bilingual Dictionary 15M. Longman English-Chinese Computer Dictionary 673K. 高级汉语大词典 6M. 现代汉语词典 3M. URX ZHEN Chinese-English dictionary 6M. 计算机网络与移动通信 276K. 家庭实用菜谱 28M. Windows术语表 119K. 超级数字大词典 576K. German dictionaries Fachlexikon der Sozialen Marktwirtschaft (ChinLex) 78K. ChinLex - Fachw?rterbuch Wirtschaft Deutsch-Chinesisch (S) - Image version 874K. Deutsch-Interlingua Wörterbuch 1M. English-German Online Dictionary 1.1M. Duden Deutsch-Deutsch Lexikon 7M. Fundset Deutsch2Chinese(S) 4M. 新德汉词典 2.7M. fundset KDIC decn 596K. German-Chinese V2.27 739K. German-English Online Dictionaries 1.1M. SAP - Glossary German - English 79K. SAP - Glossary English - German 78K. WAHRIG.digital - Deutsches Wörterbuch 11M. Handwörterbuch Englisch-Deutsch 4M. Handwörterbuch Deutsch-Englisch 6.6M. Technik Englisch-Deutsch 6M. Technik Deutsch-Englisch 6.5M. Wirtschaft Englisch-Deutsch 1.7M. Wirtschaft Deutsch-Englisch 1.9M. Japanese dictionaries 知恵蔵2005 3M. Genius English-Japanese 10M. Genius Japanese-English 9M. Japanese-Chinese 7.6M. 会社四季報 2005年版1集 7M. Meikyo Japanese-Japanese 8M. マイペディア 18M. 南山堂医学大辞典 49M. Health dictionaries Baydaş_Medikal Terimler 2004 794K Dictionary of Medicine (Shahram) 420K Drug information 196K Medciclopedia 1.6M Medicine English-Arabic 1.7M Pharmaceutical terms 38K Misc dictionaries Interlingua-English 1M. Larousse Chambers français-anglais 7.6M. Larousse Chambers English-French 9M. Larousse Multidico 19M. Mas_NDon English Indonesian Dictionary 2M. Mas_NDon Indonesian to English Dictionary 1.3M. Balifolder.com 546K. Indonesian-English Online Dictionaries 342K.

C++解析Stardict离线词典并导入SQLite:二进制文件处理与数据转换实战

数据格式转换是数据处理流程中的基础环节,其核心在于理解源数据的序列化结构与目标存储模型。以经典的Stardict离线词典格式为例,其通过.idx索引文件和.dict.dz压缩数据文件实现高效存储,本质是一种为快速查询优化的二进制序列化方案。将此类专有格式转换为通用的关系型数据库(如SQLite),能极大释放数据的应用潜力,支持灵活的SQL查询、批量分析和系统集成。在工程实践中,使用C++进行底层二进制解析具有独特优势,它能提供对内存与IO的精细控制,确保处理数百MB词典数据时的效率与稳定性。通过解析文件头、

weixin_28278377的博客 319

Xilinx Vitis arm-xilinx-eabi-gcc.exe: error: *.c: Invalid argument

This problem may be a bugof version 2021.1 only. Unfortunately, I'm just currently using this version. After Build Project: Find where this Makefile is through "make: Leaving directory" information. For me, it is located atZynq_CPU_wrapper_hw_platfo...

Ayka的博客 6660

GoldenDict字体渲染优化:3步解决乱码与排版问题的终极方案

还在为GoldenDict显示乱码、字体模糊、排版错乱而烦恼吗?作为一款功能强大的词典查询工具,GoldenDict在支持多种词典格式的同时,偶尔会遇到字体渲染问题。本文将为你提供一套完整的GoldenDict字体渲染优化解决方案,让你在5分钟内彻底解决所有显示问题,享受完美的字典查询体验! ## 问题诊断:为什么你的GoldenDict显示不正常? 当你打开GoldenDict时,是否遇到过

gitblog_00739的博客 940

告别调参玄学:用 DINOv2 (ViT-S/ViT-G) 和 PCA 可视化,直观理解自监督特征

本文深入解析了DINOv2(ViT-S/ViT-G)模型在自监督学习中的特征提取机制,通过PCA降维技术实现特征空间的可视化。文章对比了不同规模模型的特征表达差异,并提供了PCA阈值调优和深度分析的实用技巧,帮助读者直观理解自监督学习的视觉密码。

weixin_42565865的博客 409

SmsForwarder v6.4.0 + Flask API 实战:5步搭建手机验证码自动化接收服务

本文详细介绍了如何利用SmsForwarder v6.4.0和Flask API构建企业级验证码自动化处理系统。通过5个关键步骤,包括系统架构设计、Android端配置、Flask服务端实现、企业级部署方案以及实战应用场景扩展,帮助开发者高效处理短信验证码,提升自动化测试和数据采集的工作效率。

weixin_30292745的博客 392

GoldenDict词典管理终极指南:从零开始打造高效学习工具

还在为词典软件功能单一、操作复杂而困扰吗?GoldenDict作为一款开源词典软件,以其强大的多格式支持和灵活的定制能力,正在重新定义词典使用体验。本文将带你从基础安装到高级配置,全面掌握GoldenDict的使用精髓。 ## 为什么选择GoldenDict? 在众多词典软件中,GoldenDict凭借其独特优势脱颖而出: - **多格式兼容**:支持StarDict、Babylon、Lin

gitblog_00481的博客 823

Fedproto:原型聚合的联邦学习框架

文中说明,联邦学习通过计算传递梯度聚合模型时,客户端之间的异构性通常会阻碍模型优化收敛和泛化性能。故本文提出新的FedProto框架,将梯度替换成为原型,通过计算、聚合从不同客户端收集到的本地原型,然后将全局原型发送回所有客户端,以规范本地模型的训练。对每个客户机进行局部训练的目的是最小化对本地数据的分类损失,同时保持生成的本地原型足够接近相应的全局原型(损失函数最小+正则)。什么是原型?文中提到:“

weixin_47754029的博客 2649

stardict词典(星际译王)

sudo apt-get install stardict 下载词库: http://abloz.com/huzheng/stardict-dic/zh_CN/ 把下载的压缩包解压,以a为例cd /usr/share/stardict/dicsudo cp ~/下载/a.tar.bz2 ./sudo tar jxvf a.tar.bz2得到很多的文件夹,然后删除压缩...

weixin_30815469的博客 195

在已有win10系统下安装Ubuntu,最后出现执行‘grub-install/dev/nvme0n1p5‘失败的致命错误的解决方案

本人电脑型号戴尔灵越,两个SSD512G固态硬盘,c盘为系统盘. Ubuntu版本为20.04LTS,在官网下载https://ubuntu.com/download/desktop/thank-you?version=20.04.3&architecture=amd64 系统盘制作工具为Rufus-3.15http://rufus.ie/zh/ 安装过程网上很多,在这里就不赘述了. 其他安装过程都很顺利,直至安装最后出现这个 本来安装了到最后还以为成了,结果又不行...... 后.

XiaoChen_gugugu的博客 1万+

流体动力学仿真软件:CFX_(10).案例实践:复杂流场分析

在“Phases”选项卡中,定义参与仿真的不同相。例如,如果您要分析气液两相流,可以定义“Air”和“Water”两个相。

kkchenjj的博客 1684

KOReader词典数据格式:StarDict文件解析与索引构建

在电子书阅读过程中,词典功能是提升阅读体验的核心组件。KOReader作为支持多平台的开源电子书阅读器,采用StarDict格式作为词典数据标准。本文将深入解析StarDict文件结构及KOReader中的索引构建机制,帮助开发者理解词典功能的实现原理。 ## StarDict文件系统架构 KOReader默认将词典数据存储在`data/dict`目录下,该路径在[datastorage.lu

gitblog_00175的博客 452

政务帮办新范式:基于检索增强与多智能体协同的智能系统实践

本文提出了一种多智能体协同的智能政务系统架构,突破传统方案在状态管理、职责过载和感知闭环方面的局限。系统由中央规划智能体、对话引导智能体、参数提取智能体和执行状态分析智能体组成,通过职责分离与显式状态管理实现高效协同。核心创新在于中央决策引擎的确定性逻辑,采用基于规则的状态机设计,确保系统可靠可控。该架构支持自然语言交互、参数自动提取、业务系统操作和视觉闭环验证,能够真正实现"帮办"功能,显著提升政务服务的智能化水平。

469
上一篇: UniversalQuery.net 1.0 beta is now available.
下一篇: MonoDevelop 1.0 on CentOS 5 and Fedora: Compiling and Installing
forlinux
博客等级 码龄21年 53粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值