JS_EncodeString 编辑

This article covers features introduced in SpiderMonkey 1.8

Convert a JavaScript string to a C string.

Syntax

char *
JS_EncodeString(JSContext *cx, JSString *str);

char *
JS_EncodeStringToUTF8(JSContext *cx, JS::HandleString str); // Added in SpiderMonkey 24
NameTypeDescription
cxJSContext *A context. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext..
strJSString * / JS::HandleStringA string to encode.

Description

JS_EncodeString and JS_EncodeStringToUTF8 convert the specified JavaScript str to a C string (an array of 8-bit chars).

If JS_CStringsAreUTF8 is true, then the returned string of JS_EncodeString is UTF-8, and the conversion is lossless. Otherwise the high byte is simply dropped from each char16_t.

JS_EncodeStringToUTF8 encode the string to UTF-8.

The array returned by JS_EncodeString on success is allocated as though by a call to JS_malloc. The caller may modify it and is responsible for freeing it.

Note that for non-ASCII strings, if JS_CStringsAreUTF8 is false, these functions can return a corrupted copy of the contents of the string. Use JS_GetStringChars to access the 16-bit characters of a JavaScript string without conversions or copying.

On success, JS_EncodeString and JS_EncodeStringToUTF8 return a pointer to the char array, which is null-terminated.

On failure, JS_EncodeString and JS_EncodeStringToUTF8 return NULL

See Also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:87 次

字数:4377

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文