如何将字符串从键盘布局转换为另一个?

问题描述

有时我输入的输入语言错误;我希望能够以编程方式将键入错误的文本转换为正确的输入语言。我目前正在使用这种方法

##
export persian_chars="ضصثقفغعهخحجچشسیبلاتنمکگظطزرذدپو.ًٌٍَُِّْ][}{|ؤئيإأآة»«:؛كٓژٰ‌ٔء<>؟٬٫﷼٪×،)(ـ"
export en_chars="qwertyuiop[]asdfghjkl;'zxcvbnm,.QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?@#\$%^&()_"
##
function per2en() {
    gsed "y/$persian_chars/$en_chars/"
}

function en2per() {
    gsed "y/$en_chars/$persian_chars/"
}

但这似乎很脆弱,并且特定于我当前的键盘布局。还有更好的方法吗?

PS:一些示例:

❯ echo آهو ئفشزنخرثقبمخص\! | per2en                                                                                       
Hi,Stackoverflow!

❯ echo 'sghl& nkdh' | en2per                                                                                            
سلام، دنیا

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)