loadrunner Lr_类函数之lr_convert_string_encoding()

lr_convert_string_encoding()--常用函数

将字符串转换为不同的编码。

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

 

sourceString:要转换的字符串

fromEncoding :sourceString的编码

toEncoding:用于转换保存在参数paramName中的字符串的编码

paramName:将保存目标字符串的参数的名称

 

lr_convert_string_encoding转换以下编码之间的字符串编码:System locale(系统语言环境),UnicodeUTF-8。该函数将结果字符串(包括其终止NULL)保存在参数paramName中。

 

结果字符串中的可打印字符在VuGen及其日志中显示为实际字符。不可打印字符以十六进制显示。例如:

rc = lr_convert_string_encoding(“A”,NULL,LR_ENC_UTF8,“stringInUnicode”);

结果字符串显示为A \ x00,而不是\ x41 \ x00,因为字母A是可打印字符。

需要时,手动将lr_convert_string_encoding添加到脚本。它不被记录。

“fromEncoding”和“toEncoding”的可能值:

 常数值:

LR_ENC_SYSTEM_LOCALE-- NULL

LR_ENC_UTF8 -- “utf-8”

LR_ENC_UNICODE -- “ucs-2”

 

示例:lr_convert_string_encoding

在以下示例中,lr_convert_string_encoding将字符串“Hello world”从系统语言环境转换为Unicode

注意:输出将可打印字符显示为字符本身,后跟其终止NULL不可打印的字符将以十六进制显示。

Action()

{

int rc = 0;

unsigned long converted_buffer_size_unicode= 0;

char *converted_buffer_unicode = NULL;

rc = lr_convert_string_encoding("Helloworld",

   LR_ENC_SYSTEM_LOCALE,

   LR_ENC_UNICODE,

   "stringInUnicode");

if(rc < 0)

{

   // error

}

return 0;

}

 

Output:

Starting action Action.

Action.c(7): Notify: Saving Parameter"stringInUnicode = H\x00e\x00l\x00l\x00o\x00\x00w\x00o\x00r\x00l\x00d\x00\x00\x00"

Ending action Action.

相关文章
相关标签/搜索