nodejs 复制文字到粘贴板
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
nodejs 复制文字到粘贴板
Node.js本身并没有类似函数而CMD命令应该是有类似实现的
echo biebuxin | clip
Node.js代码可以这么写
const { exec } = require('child_process');
exec('echo biebuxin | clip');
预期结果应该是biebuxin这个字符串被复制到剪贴板了。粘贴后却发现复制的不止biebuxin后面多了一个空格和换行。
不想要后面多余的空格和换行怎么办换一种写法
exec('clip').stdin.end('biebuxin');
这样粘贴出来的不多不少就是biebuxin。
但想要复制中文时比如
exec('clip').stdin.end('别不信');
粘贴出来会发现是乱码
是编码的问题。
在CMD中执行chcp结果是“活动代码页: 936”。这表明CMD默认是GBK编码。
然后尝试把编码改成GBK却发现Node.js并不支持GBK编码。
这个时候得借助iconv-lite这个强大的编码转换工具了代码如下
const { exec } = require('child_process');
const iconv = require('iconv-lite');
exec('clip').stdin.end(iconv.encode('别不信', 'gbk'));