Module:Str2code:修订间差异
跳转到导航
跳转到搜索
小 (雨音浅夏移动页面Module:Unicode至Module:Str2code,不留重定向) |
无编辑摘要 |
||
第2行: | 第2行: | ||
local getArgs = require('Module:Arguments').getArgs |
local getArgs = require('Module:Arguments').getArgs |
||
function p.str2code(strin) |
function p.str2code(strin) --转换字符到unicode码位,仅支持第一平面字符 |
||
if(math.modf(string.byte(strin,1)/16)==14)then |
if(math.modf(string.byte(strin,1)/16)==14)then |
||
return (string.byte(strin,1)-224)*4096+(string.byte(strin,2)-128)*64+(string.byte(strin,3)-128) |
return (string.byte(strin,1)-224)*4096+(string.byte(strin,2)-128)*64+(string.byte(strin,3)-128) |
||
第12行: | 第12行: | ||
end |
end |
||
function p.string2code(frame) |
function p.string2code(frame) --输出为十进制,可用于后续计算 |
||
local args = getArgs(frame) |
local args = getArgs(frame) |
||
local text = args[1] |
local text = args[1] |
||
第18行: | 第18行: | ||
end |
end |
||
function p.string2xcode(frame) |
function p.string2xcode(frame) --输出为十六进制 |
||
local args = getArgs(frame) |
local args = getArgs(frame) |
||
local text = args[1] |
local text = args[1] |
2023年4月15日 (六) 23:16的最新版本
可在Module:Str2code/doc创建此模块的帮助文档
local p = {}
local getArgs = require('Module:Arguments').getArgs
function p.str2code(strin) --转换字符到unicode码位,仅支持第一平面字符
if(math.modf(string.byte(strin,1)/16)==14)then
return (string.byte(strin,1)-224)*4096+(string.byte(strin,2)-128)*64+(string.byte(strin,3)-128)
elseif(math.modf(string.byte(strin,1)/32)==6)then
return (string.byte(strin,1)-192)*64+(string.byte(strin,2)-128)
else
return string.byte(strin,1)
end
end
function p.string2code(frame) --输出为十进制,可用于后续计算
local args = getArgs(frame)
local text = args[1]
return string.format("%d",p.str2code(text))
end
function p.string2xcode(frame) --输出为十六进制
local args = getArgs(frame)
local text = args[1]
return string.format("%x",p.str2code(text))
end
return p