Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unicode 如何使用C/C++;G-Wan Web服务器中的servlet/handlers?_Unicode_G Wan - Fatal编程技术网

Unicode 如何使用C/C++;G-Wan Web服务器中的servlet/handlers?

Unicode 如何使用C/C++;G-Wan Web服务器中的servlet/handlers?,unicode,g-wan,Unicode,G Wan,我计划为G-Wan web/AppServer使用C/C++servlet/handlers编写一个web应用程序。我希望我的应用程序能够使用多种语言,包括多字节字符,因此我想知道我应该如何在G-WAN servlet中处理这个问题 xbuf_t结构似乎是char*作为构建HTTP响应的底层存储缓冲区;由于char是一个单字节,我想知道它会如何影响unicode或多字节字符的文本。我有点不愿意添加大量的unicode库,比如IBMUnicode库[ICU]等等 有人能告诉我其他人是如何处理这种情

我计划为G-Wan web/AppServer使用C/C++servlet/handlers编写一个web应用程序。我希望我的应用程序能够使用多种语言,包括多字节字符,因此我想知道我应该如何在G-WAN servlet中处理这个问题

xbuf_t结构似乎是char*作为构建HTTP响应的底层存储缓冲区;由于char是一个单字节,我想知道它会如何影响unicode或多字节字符的文本。我有点不愿意添加大量的unicode库,比如IBMUnicode库[ICU]等等

有人能告诉我其他人是如何处理这种情况的吗?如果需要,有哪些选项可用于处理unicode,最好是尽可能少的依赖项?

服务器响应(在servlet示例中称为
reply
)可以包含二进制数据,因此这当然是可能的。有一些示例可以动态发送图片(GIF、PNG、JSON等),因此您可以发送的回复没有限制

如果没有UNICODE,则使用的是
xbuf\u xcat()
,其作用类似于
sprintf()
,具有动态增长的缓冲区(服务器
回复

您应该做的是构建您的UNICODE回复(使用您最喜欢的UNICODE库—ANSI C和几乎所有语言都有一个),然后使用
xbuf_ncat()将其复制到
reply
缓冲区中

当然,您也可以使用
xbuf_ncat()而不是为servlet末尾的所有大缓冲区编写代码>。你的选择

请注意,使用
UTF-8
可能比使用
UNICODE
更好(这取决于您的应用程序),因为这样您的大多数文本都可以使用
xbuf\u xcat()
(这比缓冲区拷贝快)

您只需要调用
xbuf_ncat()

可以修改
xbuf_xxx()
函数以支持UTF-8/UNICODE(例如,使用一个标志来指示使用哪种编码),但这将在以后使用。

服务器响应(在servlet示例中称为
reply
)可以包含二进制数据,因此这当然是可能的。有一些示例可以动态发送图片(GIF、PNG、JSON等),因此您可以发送的回复没有限制

如果没有UNICODE,则使用的是
xbuf\u xcat()
,其作用类似于
sprintf()
,具有动态增长的缓冲区(服务器
回复

您应该做的是构建您的UNICODE回复(使用您最喜欢的UNICODE库—ANSI C和几乎所有语言都有一个),然后使用
xbuf_ncat()将其复制到
reply
缓冲区中

当然,您也可以使用
xbuf_ncat()而不是为servlet末尾的所有大缓冲区编写代码>。你的选择

请注意,使用
UTF-8
可能比使用
UNICODE
更好(这取决于您的应用程序),因为这样您的大多数文本都可以使用
xbuf\u xcat()
(这比缓冲区拷贝快)

您只需要调用
xbuf_ncat()


xbuf\u xxx()
函数可以修改为支持UTF-8/UNICODE(例如,带有一个标志来指示使用哪种编码),但这将在以后使用。

感谢Gil的回复,我认为我需要支持大多数亚洲和欧洲语言,因此至少需要正确的UTF-8处理。因此,我将在xbuffers之外准备响应,然后使用xbuf_ncat附加到xbuffers。感谢Gil的响应,我认为我需要支持大多数亚洲和欧洲语言,因此至少需要适当的utf-8处理。因此,我将在xbuffers之外准备响应,然后使用xbuf_ncat将其附加到xbuffers。