Unicode 如何使用C/C++;G-Wan Web服务器中的servlet/handlers?
我计划为G-Wan web/AppServer使用C/C++servlet/handlers编写一个web应用程序。我希望我的应用程序能够使用多种语言,包括多字节字符,因此我想知道我应该如何在G-WAN servlet中处理这个问题 xbuf_t结构似乎是char*作为构建HTTP响应的底层存储缓冲区;由于char是一个单字节,我想知道它会如何影响unicode或多字节字符的文本。我有点不愿意添加大量的unicode库,比如IBMUnicode库[ICU]等等 有人能告诉我其他人是如何处理这种情况的吗?如果需要,有哪些选项可用于处理unicode,最好是尽可能少的依赖项?服务器响应(在servlet示例中称为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]等等 有人能告诉我其他人是如何处理这种情
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()非ASCII字符的代码>
可以修改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()非ASCII字符的代码>
xbuf\u xxx()
函数可以修改为支持UTF-8/UNICODE(例如,带有一个标志来指示使用哪种编码),但这将在以后使用。感谢Gil的回复,我认为我需要支持大多数亚洲和欧洲语言,因此至少需要正确的UTF-8处理。因此,我将在xbuffers之外准备响应,然后使用xbuf_ncat附加到xbuffers。感谢Gil的响应,我认为我需要支持大多数亚洲和欧洲语言,因此至少需要适当的utf-8处理。因此,我将在xbuffers之外准备响应,然后使用xbuf_ncat将其附加到xbuffers。