- 博客(8)
- 收藏
- 关注
原创 Unicode 和多字节字符的区别
在现代编程中,Unicode(特别是UTF-8)已成为首选标准,而多字节字符集主要用于维护旧系统或特定地区的传统应用。:Unicode 为世界上几乎所有字符提供了一个唯一的数字编号(码点)某些字节作为"前导字节",与后续字节组合表示扩展字符。UTF-8:变长编码(1-4字节),兼容ASCII。某些编码方式(如UTF-8)处理时需要解析变长结构。:早期用于扩展ASCII以支持非英语字符。UTF-16:使用2或4字节表示字符。UTF-32:固定4字节表示每个字符。不支持全球所有语言的统一表示。
2025-09-22 16:36:09
546
原创 C#多线程详细
方式适用场景推荐度Thread需要完全控制线程属性(如优先级、是否为后台线程)的极端情况。低, legacy代码ThreadPool简单的、不需要返回结果或复杂管理的后台工作项。中Task.RunWait()Result需要在线程池执行CPU密集型工作,并需要结果。高(用于CPU密集型)asyncawaitI/O密集型操作(网络、文件、数据库),以及需要保持UI响应的任何场景。极高(首选)现代 C# 多线程黄金法则:对于 I/O 操作:一律使用asyncawait。
2025-09-20 22:41:42
1993
原创 大白话理解正则表达式
"帮我找这样这样的文字!"找所有1开头的11位数字" =1\d{10}"找单词'apple'" =apple"找空行" =^\s*$学会了之后,处理文字就像开了外挂一样快!🚀。
2025-09-19 15:44:15
595
原创 海康相机取图方式主动取流和回调函数对比
特性主动取流 (拉流)回调取流 (推流)机制应用程序主动循环查询获取图像SDK自动推送图像到回调函数线程模型通常在UI线程(如Timer)或自定义工作线程中执行在SDK内部创建的独立线程中执行性能与实时性较低。获取帧的间隔受循环速度、UI响应等因素影响,可能丢帧。较高。SDK在拿到帧后立即回调,延迟更稳定,更不容易丢帧。CPU占用循环空转会占用一定CPU。无空转,由事件驱动,更高效。代码复杂度简单直观,易于理解和调试。逻辑集中在主循环中。稍复杂。需要处理跨线程访问UI的问题(必须使用。
2025-09-18 09:15:03
1796
1
原创 C++ 容器list和vector 踩坑重点
C++中std::list和std::vector的增长机制存在显著差异。std::list采用双向链表结构,每次添加元素都独立分配节点内存,具有O(1)的常数时间开销,内存分布不连续。而std::vector是动态数组,扩容时需要重新分配内存(通常按倍数增长)并复制/移动现有元素。对于包含指针的类,必须遵循Rule of Three/Five规则。性能优化建议包括:预先reserve()容量、使用移动语义和emplace操作、根据场景选择合适容器。std::vector适合随机访问,std::list适合
2025-09-17 11:06:04
953
原创 DataGridView控件踩坑记录
本文总结了DataGridView控件的几个优化技巧:1)禁用列排序功能,通过设置SortMode为NotSortable;2)禁止用户添加行;3)解决图片列闪烁问题,建议使用Bitmap对象而非资源文件;4)处理刷新后自动选中首行的问题,通过SelectionChanged事件记录当前选中行索引,并在数据刷新后恢复选中状态。这些方法可有效提升DataGridView的操作体验和界面稳定性。
2025-09-16 17:01:01
400
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅