LoadRunner字符串编码转换的函数lr_convert_string_encoding

来源:互联网 发布:js date utc gmt 编辑:程序博客网 时间:2024/06/05 08:41

在LoadRunner中,为我们提供了一个字符串编码转换的函数

int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);

该函数有4个参数,含义如下:

sourceString:被转换的源字符串。

fromEncoding:转换前的字符编码。

toEncoding:要转换成为的字符编码。

paramName:转换后的目标字符串。


lr_convert_string_encoding有3种编码格式,如下:




例如,我想要将“上午”进行字符编码转换,如下:
lr_convert_string_encoding("上午",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");
转换后的结果如下:str = 涓婂崍\x00

再比如:
lr_convert_string_encoding("A", NULL, LR_ENC_UTF8, "stringInUnicode");
转换后的结果为:
stringInUnicode=A\x00

为什么后面会有一个“\x00”呢,是因为转换的字符是可打印的字符。


如果我们要使用转化了编码的字符,还需要将获取的字符串的值保存到另一个变量中
lr_save_string(lr_eval_string("{str}"),"tmp");

整个示例如下:
lr_convert_string_encoding("上午", NULL, LR_ENC_UTF8, "str");

lr_save_string(lr_eval_string("{str}"),"tmp");


那么怎么把乱码转换为正常显示的中文字符呢,如下:
lr_convert_string_encoding(lr_eval_string("涓婂崍"), LR_ENC_UTF8, LR_ENC_SYSTEM_LOCALE, "str" );
//输出str=上午\x00"
lr_save_string(lr_eval_string("{str}"),"tmp");
//输出tmp=上午

原理和上面的类似。


0 0