文件编码Windows乱码复制粘贴机制SetClipboardData和CF_UNICODETEXT解析
剪贴板的内容复制粘贴总出乱码?Windows 下其实有不少隐藏机制,尤其是SetClipboardData和CF_UNICODETEXT这两个东西,蛮值得一说。
CF_UNICODETEXT 就是那种专门装Unicode文本的格式,记得哦,结尾要有换行符+NULL
,不然有些软件读不全。Windows NT 之后才支持,所以老系统就别纠结了。
像你用C#或者Win32 API搞剪贴板传值时,碰上乱码率就是编码不对,要么搞成CF_TEXT
,要么就用CF_UNICODETEXT
走一波。实在不确定编码,locale也可以查一下,CF_LOCALE 这个参数也有用。
建议你配合Javascript 剪贴板操作实现或者Shareclip:跨平台共享剪贴板一起看,场景多了才好理解。
哦对了,如果你是搞.NET 或者 WinForm 的,这个自动回帖程序里边也顺带用了剪贴板操作,可以参考。
剪贴板这东西,机制不复杂,就是坑多。多试几个格式,多观察内存块的数据结构,就能避坑。
499.81KB
文件大小:
评论区