Index: 残局文料/lua_lib/u8_to_a.lua ================================================================== --- 残局文料/lua_lib/u8_to_a.lua +++ 残局文料/lua_lib/u8_to_a.lua @@ -15,26 +15,26 @@ int WideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWCH lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cchMultiByte, LPCCH lpDefaultChar, LPBOOL pfUsedDefaultChar); ]]) s.CP_ACP = 0 s.CP_UTF8 = 65001 --~ 算机_基统_窗群 -function s.m2w(input, o1) - local wlen = ffi.C.MultiByteToWideChar(o1 or s.CP_ACP, 0, input, #input, nil, 0) +function s.m2w(input, u1) + local wlen = ffi.C.MultiByteToWideChar(u1 or s.CP_ACP, 0, input, #input, nil, 0) local wstr = ffi.new("wchar_t[?]", wlen + 1) - ffi.C.MultiByteToWideChar(o1 or s.CP_ACP, 0, input, #input, wstr, wlen) + ffi.C.MultiByteToWideChar(u1 or s.CP_ACP, 0, input, #input, wstr, wlen) return wstr, wlen end -function s.w2m(wstr, wlen, o1) - local len = ffi.C.WideCharToMultiByte(o1 or s.CP_ACP, 0, wstr, wlen or -1, nil, 0, nil, nil) +function s.w2m(wstr, wlen, u1) + local len = ffi.C.WideCharToMultiByte(u1 or s.CP_ACP, 0, wstr, wlen or -1, nil, 0, nil, nil) local str = ffi.new("char[?]", len) - ffi.C.WideCharToMultiByte(o1 or s.CP_ACP, 0, wstr, wlen or -1, str, len, nil, nil) + ffi.C.WideCharToMultiByte(u1 or s.CP_ACP, 0, wstr, wlen or -1, str, len, nil, nil) return ffi.string(str, len) end --~ 通用大字集_八位 function s.u8_to_a(input) return s.w2m(s.m2w(input, s.CP_UTF8)) end function s.a_to_u8(input) - local k1, k2 = s.m2w(input) - return s.w2m(k1, k2, s.CP_UTF8) + local h1, h2 = s.m2w(input) + return s.w2m(h1, h2, s.CP_UTF8) end return s