- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 从底层逻辑证明,编写一个能准确识别不带BOM的文本文件编码是GBK还是UTF8是不可能的
但是如果汉字和英文混排的一段,就不然,英文GBK编码中,刻意兼容了ASICII编码集, 比如英文字符“Z”,其ASICII的16进制编码是5A,二进制是1011010 ,而GBK的编码的是00000000 1011010,而上述,是可以按照编码规则找的几个汉字,这样的组合还大量存在,自然而然,在没有BOM头的情况下,没有程序能准确识别GBK和ANSI编码的文本文件,因为这是不可能的,已经证明了。通过这些特殊字节,可以很容易的确定文本文件的编码方式,而不是靠猜的方式确定。
2024-12-25 12:13:44
845
原创 C#编写大计算量程序总是报内存溢出System.OutOfMemoryException的重要原因
笔者为C#业余爱好者,从开始编写一些计算量较大、内存占用较大的程序时,经常会在编译时报出System.OutOfMemoryException(内存溢出)的错误异常,而实际上,当时的剩余内存还多的是,最终只能改变原有算法,尽量减少内存占用。 我至少经历过以下一些场景的内存溢出提示: 1、使用DataTable或者DataSet,明明没有达到二者的最大行数闲置,却报出了内存溢出异常; 2、使用系统类库,逐行读取一个超大的TXT文件时,读到一定程度报内存溢出; 3、在数组、List中存
2022-05-07 09:35:59
7982
原创 自建FTP和SFTP服务器
FTP、SFTP作为广泛的文件传输协议,使用广泛。为进行相关的功能开发,往往需要在自己的电脑或者虚拟机中搭建FTP、SFTP服务器,然后进行相应的开发。本文用于手把手教你搭建FTP服务器。运行环境和软件:FTP服务器环境:虚拟机上安装的WIN7 专业版,32位64位皆可,我这里是64位虚拟机网络设置:注意一定要设置为桥接模式,否则IP地址和和实体机可能会通信异常。**FTP客户端软件:**开源免费的FileZilla-3.56.0 32位64位皆可,下载地址请自行百度。建议直接下载绿色版,
2021-12-13 12:12:13
3279
原创 C#逐行读取txt文件(超大文件支持)
最近笔者在写一个小程序的时候,遇到一个问题,相信这个问题很多朋友碰到了,即在使用系统提供的方法System.IO.StreamReader.ReadLine()时,遇到“OutOfMemoryException ”问题。 因需求目标就是逐行读取txt文件,然后进行数据解析,初碰到该问题还真是一脸懵逼。经过实际测试,在读取几百兆字节以内的txt文件时,System.IO.StreamReader.ReadLine()方法为首选,但是当txt文件超过1GB后,大概率会出“OutOfMemoryEx...
2021-10-12 09:51:53
7970
原创 WPF程序中如何弹出消息弹窗MessageBox而不中断程序的继续执行*
WPF程序中如何弹出消息弹窗MessageBox而不中断程序的继续执行有些场景下,需要弹出一个消息弹窗,提示一些信息,但是又不想程序因此而中断,可以通过下述方法来实现:1、定义一个调用线程的方法,将MessageBox包装在里面//定义void SendMsgSilent(string msg){void msgSend() { MessageBox.Show(msg, “警告”); }Thread td_msg = new Thread(msgSend);td_msg.Start();}
2021-09-24 17:51:42
3139
3
原创 Axure制作真实可点击可保存的下载效果
axure在制作 可点击下载的demo时,存在一个现实问题,当把demo文件打包为压缩包发送给客户时,客户存储DEMO文件夹的路径是不可预知的,此时制作demo时填入的绝对路径将不可达,导致下载链接失效。 通过在axure中设置相对路径即可解决该问题。具体的实现方法如下:1、假设DEMO生成HTML的目录在D:\DEMO, 该目录仅为AXURE生成HTML文件使用,一旦HTML生成,整个BEMO文件夹随意的移动,不会有任何影响2、先在demo计划生成的文件夹中创建一个文件夹,比如source_f..
2021-05-10 17:57:51
5792
8
ADO.NET官方参考文档2021-09.pdf
2021-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人