【发布时间】:2019-05-26 17:31:06
【问题描述】:
我正在为教育目的编写加密算法,并且我需要能够复制/粘贴 unicode 字符。
问题在于剪贴板(不仅是 api)将回车字符(十六进制:0x0d,十进制:13)修改为换行符(十六进制:0x0a,十进制:10)。
我怎样才能防止这种行为?
let $ = s => document.querySelector(s);
let cr = String.fromCharCode(0x0d);
$("#one").addEventListener("click", function (e)
{
navigator.clipboard.writeText(cr);
});
$("#two").addEventListener("change", function (e)
{
$("#out").textContent = "0x" + this.value.charCodeAt(0).toString(16).padStart(2, 0);
});
<button id="one">copy cr to clipboard</button><br>
<textarea type="text" id="two"></textarea><br>
<div id="out"></div>
您可以通过单击按钮将回车保存到剪贴板中,然后将其粘贴到文本区域中来测试它。 然后在文本区域外单击以触发更改事件。 它将显示 0x0a,因为剪贴板已将 cr 转换为 lf。
PS:我不得不从引导模式转到传统模式,因为它有问题,真的很烦人
【问题讨论】:
标签: javascript