之前用牛逼的绘图以及分析bmp的像素文件的方法, 整理出汉字编码从: 0x4E00到0x9FA5, (维基上说是9FD5, 完了, 回头再更新吧.)

https://en.wikipedia.org/wiki/CJK_Unified_Ideographs

出来一个文件是这样事儿的:

19968 一 0800080008000800080008000800080008000800080008000800080008000000
19969 丁 0000200020002000200020042008eff720002000200020002000200000000000
19970 丂 2000200020002c002b00e8002800280028042808280428f32000200020000000
19971 七 080008000800080008000400fff3040404040404020402040204028700000000
19972 丄 0004000400040004000400040004fff700040004000400040004000400040000
19973 丅 2000200020002000200020002000efff20002000200020002000200020000000
19974 丆 20802040202020102c002300e000200020002000200020002000200020000000
19975 万 40084004400240814060cf10440044004404440844044cf34000400040000000
19976 丈 0008010801080d040114012201410180ff710102010401040108010800080000
19977 三 0002400248024802480248024802480248024802480248024802400200020000
19978 上 000400040004000400040004fff7040404040404040404040404000400040000

....

文件是1.5M

格式是, 编码+汉字+模拟出来的点阵编码, 顺便提一句, 这个编码是根据某IC厂的编码原则去写的, 并不适用于所有的点阵扫描方式.

接着, 把前面去掉, 变成了:

0800080008000800080008000800080008000800080008000800080008000000
0000200020002000200020042008eff720002000200020002000200000000000
2000200020002c002b00e8002800280028042808280428f32000200020000000
...
方便下一步处理.

那么接下来, 要将这个都是表面上16进制编码的这些文字, 变成实际上的16进制编码文件, 也就是.bin文件(这样才能烧录到flash当中去).

感谢小波借给我一个写flash的工具, 直接挂上一个8MB的flash, 把读到的空的bin文件倒腾出来, 用FlexHEX看了看, 想着能把之前的编码直接往里面拷贝, 结果人家直接当成utf8/ascii又转了一下.

挠了挠头, 先用C后来直接又用Java, 把读出来的这些String的东西, 转成了byte, BYTE!!!yes!!!这就是我要的东西!!!

public byte shortString2Hex(String shortStr) {
        String baseHext = "0123456789abcdef";
        char c = 'c';
        byte b = 0;
        String masterPosStr = shortStr.substring(0, 1);
        String lowPosStr = shortStr.substring(1);
        // System.out.println(masterPosStr + lowPosStr);
        int cValue = 16 * (baseHext.indexOf(masterPosStr)) + baseHext.indexOf(lowPosStr);
        c = (char) (16 * (baseHext.indexOf(masterPosStr)) + baseHext.indexOf(lowPosStr));
        b = (byte) cValue;
        //System.out.println(cValue);
        //System.out.println(b);
        return b;

}

思路很简单啊, 就是查找这个string在基准string中的位置, 将0-f转换成0-15了, 可不就是byte了么.

然后直接把byte数组写进文件中, 文件名就以bin结尾, 然后烧录进flash, 搞定!!!

不过还没验证呢, 烧录完了, 现在试试用STM32读取.

转载于:https://www.cnblogs.com/Montauk/p/5788424.html

将txt文件数据转成bin文件.相关推荐

  1. 实现一个小程序,把txt文件里面的十六进制数据读取出来,转成bin文件

    txt文件里面装的是十六进制的数据,而bin文件是二进制,因此我们要把十六进制转为二进制.实现思路就是,以可读的方式打开txt文件,然后以读写打开或建立一个二进制是wb+,打开后,不断的用fgetc读 ...

  2. python pandas 把数据保存成csv文件,以及读取csv文件获取指定行、指定列数据

    文章目录: 1 数据说明 2 把数据集文件信息使用python pandas保存成csv文件 3 使用python pandas 读取csv的每行.每列数据 1 数据说明 1.在test_data目录 ...

  3. 如何使用jlink从flash中读取数据保存为bin文件到本地

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/skdkjxy/article/deta ...

  4. Pl/sql 如何将oracle的表数据导出成excel文件?

    oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件--select MID,CODE,NAME from Dxc_Goods_Cate where ...

  5. mongoDB如何将数据导成csv文件?

    mongoDB如何将数据导成csv文件? 1.代码如下: 2.详细参数如下 -h:mongo地址 -u:用户名 -p:密码 --port:端口号 -d:数据库 -c:collection --quer ...

  6. Vue将echarts数据导出成excel文件

    Vue将echarts数据导出成excel文件 一.下载vendor插件 下载 vendor 文件放置项目的 src 目录下 链接:https://pan.baidu.com/s/1XYYQ186zo ...

  7. vue导出excel加一个进度条_vue项目中如何把数据导出成excel文件

    Loading... 关于vue中如何把数据导出成excel文件 ### 1. 安装依赖 ``` yarn add file-saver yarn add xlsx yarn add script-l ...

  8. 如何将大数组转成BIN文件

    嵌入式开发中,常需要把一些资源文件转成数组储存,由于嵌入式资源有限,数组太大也不行,如何将大数组转成BIN文件直接DOWNLOAD到FLASH中成了个大问题,本文将用C2B转换助手来解决这个问题,下列 ...

  9. 将文件夹压缩成zip文件

    一 代码 package ZipFile;import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUt ...

最新文章

  1. win7上Docker使用
  2. (C++)1037 在霍格沃茨找零钱的两种解法
  3. 读javascript高级程序设计15-Ajax,CORS,JSONP,Img Ping
  4. 笔记 - Ali Cloud网络(VPC, SLB) 简介
  5. Acrobat XI安装教程
  6. 工程中新增Properties
  7. Keiichi Tsuchiya the Drift King
  8. sap 供应商表_SAP系统玩阴的?
  9. js知识学习图谱,新手必看
  10. [eZ publish] fetch_alias() and fetch()
  11. Struts2 继承ActionSupport类
  12. 微PE制作U盘启动盘图文详细教程
  13. 计算机在网络通信方面的应用,分析计算机技术在通信中的应用
  14. 一文读懂IPO各板块审核流程
  15. 随笔---ubuntu下通过ifstat查看实时网速
  16. 推荐一个易学预测、学术研讨、资源分享网站:龙腾易学网
  17. 华为往事(十一)---华为的“中南海”
  18. macOS手动启动 Simulator(ios模拟器)
  19. 【UE4】导入FBX格式的模型至UE4
  20. 力扣刷题之二叉树的层序遍历

热门文章

  1. NQA基本原理与配置
  2. JDK版本不兼容问题
  3. 题目1155:鸡兔同笼
  4. oracle客户端怎么变成中文,如何让Oracle客户端显示中文
  5. 网络安全要点 : 对称加密
  6. 轻量级CNN模块!RepGhost:重参数化实现硬件高效的Ghost模块
  7. 【论文笔记】Map-Based Localization Method for Autonomous Vehicles Using 3D-LIDAR
  8. 服务提供和服务支持的区别
  9. 应对word无法编辑、无法选中、无法删除的方法
  10. 任务清单丨小程序java云服务器配置123