你这两个代码是"读书"的区位码 (2233 4273)
用Replace Pioneer转换,自己动手,丰衣足食,而且灵活。
下面举例说明怎样用Replace Pioneer把汉字“读书”,转换成代码(2233 4273),然后再转换回汉字。
汉字转编码:
1. ctrl-o打开待转换的文本文件(纯汉字)
2. ctrl-h打开替换窗口
* 在Search for Pattern输入一个点“.”,不带双引号。
* 在Replace with Pattern输入:
${match}join("",map(calc(byte2num($_)-160), split(//,encode('gbk',$match))) )
3. 点击Replace,完成!
编码转汉字:
1. ctrl-o打开待转换的文本文件(4位一组的纯数字)
2. ctrl-h打开替换窗口
* 在Search for Pattern输入(\d\d)(\d\d)表示4位编码
* 在Replace with Pattern输入:
decode('gbk',num2byte(160+$1).num2byte(160+$2))
3. 点击Replace,完成!
这个在excel标准函数中是没有的。可以自己根据需求做一个自定义函数。例如:假设原数据中仅包含中文数字。那么自定义函数的代码如下:
Function mYff(A As String) As String '中文数字转换成阿拉巴数字
Dim I, J As Integer
Dim mYs, mYs2 As String 'mYs存放对应的阿拉巴数字
I = Len(A)
mYff = ""
For J = 1 To I
mYs = Mid(A, J, 1)
Select Case mYs
Case "一"
mYff = mYff "1"
Case "二"
mYff = mYff "2"
Case "三"
mYff = mYff "3"
Case "四"
mYff = mYff "4"
Case "五"
mYff = mYff "5"
Case "六"
mYff = mYff "6"
Case "七"
mYff = mYff "7"
Case "八"
mYff = mYff "8"
Case "九"
mYff = mYff "9"
Case "零"
mYff = mYff "0"
End Select
Next J
End Function
使用时公式设置如图所示:
结果如图所示:
script language="javascript"
function transfer(str)
{
var input=str;
var inputvalue=parseInt(input);
var l=input.length;
var a=new Array(l);
var b=new Array(l);
var result="";
for(var i=0;il;i++)
{
a[i]=input.substr(i,1);
b[i]=getchinese(a[i]);
result+=b[i];
}
//数字--单数转换
//这里有个问题.就比如 18 转换后成了一八 而不是十八
//如果这里还需要转换的话. 那还需要重新定义个函数.
alert(result);
}
function gochange(s){
//
}
function getchinese(p)
{
var input=p;
if(input=="0")
return "〇";
else if(input=="1")
return "一";
else if(input=="2")
return "二";
else if(input=="3")
return "三";
else if(input=="4")
return "四";
else if(input=="5")
return "五";
else if(input=="6")
return "六";
else if(input=="7")
return "七";
else if(input=="8")
return "八";
else if(input=="9")
return "九";
else
return input;
}
transfer('2013年9月18日');
/script
body
/body
在EXCEL中,假设A1输入中文,B1输入
=code(a1)
一个单元格只能输入一个汉字,多个只返回第一个汉字的机器码