Lua 판단 문자열에 중국어 문자가 포함된 방법 및 문자열 너비 함수 공유

1197 단어
1. 문자열에 중국어 문자가 포함된 것을 판단하는 방법
바이트마다string을 사용합니다.byte(), 127보다 큰 것이 한자인 것을 발견하면 아래의 코드를 참조할 수 있습니다.
2. 문자열 너비 함수 계산
 
  
--
 
local str = "Jimmy: , !"
local fontSize = 20
local lenInByte = #str
local width = 0
 
for i=1,lenInByte do
    local curByte = string.byte(str, i)
    local byteCount = 1;
    if curByte>0 and curByte<=127 then
        byteCount = 1
    elseif curByte>=192 and curByte<223 then
        byteCount = 2
    elseif curByte>=224 and curByte<239 then
        byteCount = 3
    elseif curByte>=240 and curByte<=247 then
        byteCount = 4
    end
    
    local char = string.sub(str, i, i+byteCount-1)
    i = i + byteCount -1
    
    if byteCount == 1 then
        width = width + fontSize * 0.5
    else
        width = width + fontSize
        print(char)
    end
end
 
print(" : "..width)

좋은 웹페이지 즐겨찾기