当前位置:网站首页>Lua GBK and UTF8 turn to each other
Lua GBK and UTF8 turn to each other
2022-07-05 04:56:00 【Meteor spot】
function Helper.utf8ToGBK(str)
if true then
return str
end
if device.platform == "android" then
return AppUtils:utf8ToGBK(str)
else
local convertStr = str
local togbk = iconv.new("GB2312", "UTF-8")
if togbk then
convertStr = togbk:iconv(str)
end
return convertStr
end
end
function Helper.gbkToUTF8(str)
if true then
return str
end
local convertStr = str
local toutf8 = iconv.new("UTF-8", "GB2312")
if toutf8 then
convertStr = toutf8:iconv(str)
end
return convertStr
end
string AppUtils::gbkToUTF8(const string& str)
{
string convertStr = str;
JniMethodInfo t;
if (JniHelper::getMethodInfo(t, "java/lang/String", "getBytes", "(Ljava/lang/String;)[B")) {
jstring jstr = t.env->NewStringUTF(str.c_str());
jstring jcode = t.env->NewStringUTF("UTF-8");
jbyteArray jarr = (jbyteArray)t.env->CallObjectMethod(jstr, t.methodID, jcode);
jsize len = t.env->GetArrayLength(jarr);
jbyte* pByte = t.env->GetByteArrayElements(jarr, JNI_FALSE);
char * pBuffer = new char[len + 1];
memcpy(pBuffer, pByte, len);
pBuffer[len] = 0;
convertStr = string(pBuffer);
delete[] pBuffer;
t.env->DeleteLocalRef(jstr);
t.env->DeleteLocalRef(jcode);
t.env->DeleteLocalRef(t.classID);
}
return convertStr;
}
string AppUtils::utf8ToGBK(const string& str)
{
string convertStr = str;
JniMethodInfo t;
if (JniHelper::getMethodInfo(t, "java/lang/String", "getBytes", "(Ljava/lang/String;)[B")) {
jstring jstr = t.env->NewStringUTF(str.c_str());
jstring jcode = t.env->NewStringUTF("GB2312");
jbyteArray jarr = (jbyteArray)t.env->CallObjectMethod(jstr, t.methodID, jcode);
jsize len = t.env->GetArrayLength(jarr);
jbyte* pByte = t.env->GetByteArrayElements(jarr, JNI_FALSE);
char * pBuffer = new char[len + 1];
memcpy(pBuffer, pByte, len);
pBuffer[len] = 0;
convertStr = string(pBuffer);
delete[] pBuffer;
t.env->DeleteLocalRef(jstr);
t.env->DeleteLocalRef(jcode);
t.env->DeleteLocalRef(t.classID);
}
return convertStr;
}
边栏推荐
- Minor spanning tree
- GameObject class and transform class of unity
- AutoCAD - full screen display
- SQL set operation
- Understand encodefloatrgba and decodefloatrgba
- Create a pyGame window with a blue background
- Solutions and answers for the 2021 Shenzhen cup
- Fluent objects and lists
- UE 虚幻引擎,项目结构
- Solution of circular dependency
猜你喜欢
随机推荐
Establish cloth effect in 10 seconds
Pdf to DWG in CAD
GameObject class and transform class of unity
数论函数及其求和 待更新
[Chongqing Guangdong education] National Open University 2047t commercial bank operation and management reference test in autumn 2018
PostgreSQL 超越 MySQL,“世界上最好的编程语言”薪水偏低
Flink集群配置
AutoCAD - workspace settings
Function overloading
Inline built-in function
2022/7/2做题总结
2020-10-27
C4D simple cloth (version above R21)
Judge the position of the monster in the role under unity3d
[groovy] closure (closure call | closure default parameter it | code example)
Basic knowledge points of dictionary
AutoCAD - graphic input and output
Solutions and answers for the 2021 Shenzhen cup
On-off and on-off of quality system construction
[Business Research Report] Research Report on male consumption trends in other economic times -- with download link