请教JAVA牛人,怎么把通过JAVA查一个汉字的数字点阵

Python027

请教JAVA牛人,怎么把通过JAVA查一个汉字的数字点阵,第1张

以前DOS时代搞过这个。如果你能拿到GB_2312字库,就能做到。将Unicode码转变为GB码,然后高字节-0xA0,乘以94,再加低字节-0xA0,这个结果乘以32,去字库文件里从头偏移这么多,读32字节,按位每16位一行画点就是汉字图形。

图形好像是翻转的,时间长了具体记不清了。

试验了一下,记错了一点。是减手0xA1。下面的这个类的静态方法getDotMap获取一个字的32字节的点阵。每位为1时应该绘制,0时不绘制。

public class ChineseReader extends JFrame{

private static byte[][] dotMap

static{

try{

FileInputStream dotMapFile=new FileInputStream("hzk16")

dotMap=new byte[dotMapFile.available()][32]

for(int i=0i<dotMap.lengthi++){

dotMapFile.read(dotMap[i])

}

dotMapFile.close()

}

catch(FileNotFoundException ex){

ex.printStackTrace()

}

catch(IOException ex){

ex.printStackTrace()

}

}

public static short[] getDotMap(char c){

short[] buffer=new short[16]

int gbCode=Charset.forName("GB2312").encode(String.valueOf(c)).getShort()&0xFFFF

ByteBuffer buf=ByteBuffer.wrap(dotMap[((gbCode>>8)*94+(gbCode&0xFF))-0x3BBF])

for(int i=0i<16i++){

buffer[i]=buf.getShort()

}

return buffer

}

}

假设汉字库文件以“hzk16”命名,存放在同一文件夹中。你自己找不到16点阵汉字库时,找个UCDOS下载,从中能找到的。文件名就是HZK16。

他的公众号也关注了, 无非就是发发文章, 多少有重复的, 推广推广他自己的课程。

我推断他应该是自己单干而且有团队, 否则没有那么多精力录视频, 推广, 亲自教学的, 之前应该是在大厂干, 就算不是大厂, 技术不好也不可能出视频啊, 自己录视频能挣钱可比在大厂苦逼给人家打工强不少了, 你说是不?

打工搏的苦逼那几年公司能上市, 否则始终是给别人打工, 要不就是去大厂多认识认识牛人, 顺便给自己镀金, 为了以后着想。

类似的机构还有很多, 什么gupao学院, luban学院之类的, 基本都是美女助理, 免费试听课, 架构师课程大概七八千吧, 这里面的讲师有全职的也有兼职的, 全职的肯定是想孤注一掷咯, 那些兼职的无非就是想试试水。

不过基本都会受到公司同事的嫉妒, 说你泄露公司机密啊, 该加班不加班啊, 因为他得直播, 得录课程啊, 毕竟多挣一份儿钱, 没有人嫉妒就怪了, 后来影响力够了都变全职了。

你问这个问题无非就是几种可能, 想报名不敢报名或者是嫉妒人家。

你如果想学习, 可以看看哪个适合自己就报一个踏踏实实的学, 这些钱其实还不到普通开发一个月工资呢, 完全可以付得起, 我是觉得花钱买时间比较划算, 压缩自己成功前的时间, 让未来可能性更多, 不知道你咋想的。

总结如下:

你如果是嫉妒人家, 我劝你还是转变思路吧, 你俩根本就没交集, 没必要的, 你可以试试自己坚持写文章, 录视频看看自己能坚持几天, 说实在的, 不忙的人才会嫉妒别人, 天天提高自己时间还不够呢。

我最近玩知乎比较多, 每天强迫自己回答一些问题, 然后写一写自己的文章, 总结总结之前的代码, 坚持起来其实很难的, 又要上班, 又要带娃, 但是那也得坚持啊。

咱不能一直上班默默无闻是吧, 然后跳槽的时候简历上写自己会一堆东西, 但是用人单位也不care你, 核心就是你没啥影响力, 没啥人脉, 没啥作品啊, 大厂出来的简历都是自带光环的, 别管实际水平如何。

“我看有些牛人能单挑一个很大的项目,而有些团队都做得没他好”:你说的应该停留在功能的实现上吧。

“一个很大的项目”,对这个所谓的大项目的概念还是很笼统的。不过可以肯定的是,正规项目,都必定采取一种或多种框架,这个框架可能是主流的,可能是自定义的。在面对一个框架项目下,一个人的力量太渺小了。因为你的时间和精力根本就不够去实现这个项目。这样的时间开销太大。

对于程序员来说,个人感觉大致分下面几等:

1:未入门,此类人感觉自己什么都会了,事实上,什么都不懂很肤浅。

2:刚入门,知道自己很多地方不足,甚至根本不懂。

3:熟练,到此为止,仅仅针对于常用对象使用,功能的实现实现,知道常规异常错误的产生原因和解决方法,以及IDE的熟练使用。

4:进阶,开始不满足于对现有代码的满足。开始追求代码的优美,效率,性能,稳定,安全等

5:提炼,以及脱离的现有代码的范围,开始注重代码的重用性,开始彻底的贯彻面向对象的思想,学习GOF中提到的常规的一些设计模式。

补充,到这里为止,如果没有面对至少百级并发的开发项目以及百万级数据查询,那也只能算是60%的程序员,如果处理过,实践过。那算是80%

6:自我提升与实践。到这里,只能算是作为一个80%程序员。还有很多东西要你自己去实践不断自我学习。