<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Java/J2EE</title><link>http://blog.vckbase.com/billdavid/category/755.html</link><description>Java/J2EE相关</description><managingEditor>大卫的思维空间</managingEditor><dc:language>af</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>大卫的思维空间</dc:creator><title>Java RPC通信机制之SOAP：应用Apache Axis进行Web Service开发</title><link>http://blog.vckbase.com/billdavid/archive/2006/08/18/21982.html</link><pubDate>Fri, 18 Aug 2006 14:42:00 GMT</pubDate><guid>http://blog.vckbase.com/billdavid/archive/2006/08/18/21982.html</guid><wfw:comment>http://blog.vckbase.com/billdavid/comments/21982.html</wfw:comment><comments>http://blog.vckbase.com/billdavid/archive/2006/08/18/21982.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/billdavid/comments/commentRss/21982.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/billdavid/services/trackbacks/21982.html</trackback:ping><description>SOAP原意为Simple Object Access Protocol（简单对象访问协议），是一个用于分布式环境的、轻量级的、基于XML进行信息交换的通信协议。本文以Apache Axis 1.4为基础，讨论了SOAP开发Web Service的基本内容。&lt;img src ="http://blog.vckbase.com/billdavid/aggbug/21982.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大卫的思维空间</dc:creator><title>Java RPC通信机制之XML-RPC：Apache XML-RPC 3.0开发简介</title><link>http://blog.vckbase.com/billdavid/archive/2006/08/18/21981.html</link><pubDate>Fri, 18 Aug 2006 14:35:00 GMT</pubDate><guid>http://blog.vckbase.com/billdavid/archive/2006/08/18/21981.html</guid><wfw:comment>http://blog.vckbase.com/billdavid/comments/21981.html</wfw:comment><comments>http://blog.vckbase.com/billdavid/archive/2006/08/18/21981.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/billdavid/comments/commentRss/21981.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/billdavid/services/trackbacks/21981.html</trackback:ping><description>XML-RPC是一种简单的，轻量级的通过HTTP协议进行RPC通信的规范。本文以Apache XML-RPC 3.0为基础，对XML-RPC的基本原理及Apache XML-RPC 3.0的主要特性进行了讨论和分析。

&lt;img src ="http://blog.vckbase.com/billdavid/aggbug/21981.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大卫的思维空间</dc:creator><title>Java RPC通信机制之RMI</title><link>http://blog.vckbase.com/billdavid/archive/2006/08/18/21980.html</link><pubDate>Fri, 18 Aug 2006 14:33:00 GMT</pubDate><guid>http://blog.vckbase.com/billdavid/archive/2006/08/18/21980.html</guid><wfw:comment>http://blog.vckbase.com/billdavid/comments/21980.html</wfw:comment><comments>http://blog.vckbase.com/billdavid/archive/2006/08/18/21980.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/billdavid/comments/commentRss/21980.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/billdavid/services/trackbacks/21980.html</trackback:ping><description>简要介绍Java RPC通信机制RMI的基本原理，应用过程中可能遇到的问题及其解决办法。&lt;img src ="http://blog.vckbase.com/billdavid/aggbug/21980.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大卫的思维空间</dc:creator><title>JNI中文处理问题小结</title><link>http://blog.vckbase.com/billdavid/archive/2006/02/13/17657.html</link><pubDate>Mon, 13 Feb 2006 03:34:00 GMT</pubDate><guid>http://blog.vckbase.com/billdavid/archive/2006/02/13/17657.html</guid><wfw:comment>http://blog.vckbase.com/billdavid/comments/17657.html</wfw:comment><comments>http://blog.vckbase.com/billdavid/archive/2006/02/13/17657.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.vckbase.com/billdavid/comments/commentRss/17657.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/billdavid/services/trackbacks/17657.html</trackback:ping><description>由于工作关系，需要利用JNI在C&lt;B&gt;&lt;FONT COLOR="#663300"&gt;++&lt;/FONT&gt;&lt;/B&gt;与Java程序之间进行方法调用和数据传递，但以前总是在英文环境下工作，对中文（其他语言编码同理）问题反倒没有太关注，最近抽了点时间研究了一下，将自己的体会整理如下，供大家讨论或参考。&lt;br&gt;&lt;br&gt;在进一步讨论之前，有几点基础知识需要说明：&lt;FONT COLOR="#999900"&gt;&lt;br&gt;1&lt;/FONT&gt;、在Java内部，所有的字符串编码采用的是Unicode即UCS&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;2&lt;/FONT&gt;。Unicode是用两个字节表示每个字符的字符编码方案。Unicode有一个特性：它包括了世界上所有的字符字形。所以，各个地区的语言都可以建立与Unicode的映射关系，而Java正是利用了这一点以达到异种语言之间的转换。&lt;FONT COLOR="#999900"&gt;&lt;br&gt;2&lt;/FONT&gt;、UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;是另一种不同于UCS&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;2&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;UCS&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;4&lt;/FONT&gt;的编码方案，其中UTF代表UCS&amp;nbsp;Transformation&amp;nbsp;Format，它采用变长的方式进行编码，编码长度可以是&lt;FONT COLOR="#999900"&gt;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;~&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;3&lt;/FONT&gt;（据说理论上最长可以到&lt;FONT COLOR="#999900"&gt;6&lt;/FONT&gt;，不懂）。&lt;br&gt;由于UCS&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;2&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;UCS&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;4&lt;/FONT&gt;编码定长的原因，编码产生的字符串会包含一些特殊的字符，如&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;0&lt;/FONT&gt;（即&lt;FONT COLOR="#999900"&gt;0x0&lt;/FONT&gt;，所有&lt;FONT COLOR="#999900"&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;~&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;256&lt;/FONT&gt;的字符Unicode编码的第一个字节），这在有些情况下（如传输或解析时）会给我们带来一些麻烦，而且对于一般的英文字母浪费了太多的空间，此外，据说UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;还有Unicode所没有的纠错能力（不懂！），因此，Unicode往往只是被用作一种中间码，用于逻辑表示。关于Unicode&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;的更多信息，见参考&lt;FONT COLOR="#999900"&gt;1&lt;/FONT&gt;。&lt;br&gt;&lt;br&gt;Java中文乱码问题在很多情况下都可能发生：不同应用间，不同平台间等等，但以上问题已有大量优秀的文章讨论过，这里不作深入探讨，详见参考&lt;FONT COLOR="#999900"&gt;2&lt;/FONT&gt;、&lt;FONT COLOR="#999900"&gt;3&lt;/FONT&gt;、&lt;FONT COLOR="#999900"&gt;4&lt;/FONT&gt;、&lt;FONT COLOR="#999900"&gt;5&lt;/FONT&gt;。下面简要总结一下：&lt;FONT COLOR="#999900"&gt;&lt;br&gt;1&lt;/FONT&gt;、当我们使用默认编码方式保存源文件时，文件内容实际上是按照我们的系统设定进行编码保存的，这个设定值即file&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;encoding可以通过下面的程序获得：&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&lt;br&gt;public&amp;nbsp;class&lt;/FONT&gt;&amp;nbsp;Encoding&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;void&lt;/FONT&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;main&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;String&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[]&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;args&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;out&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;println&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;System&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;getProperty&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;"file.encoding"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;}&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;javac在不指定encoding参数时，如果区域设定不正确，则可能造成编&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;解码错误，这个问题在编译一个从别的环境传过来的文件时可能发生。&lt;FONT COLOR="#999900"&gt;&lt;br&gt;2&lt;/FONT&gt;、虽然在Java内部（即运行期间，Runtime）字符串是以Unicode形式存在的，但在&lt;FONT COLOR="#990000"&gt;class&lt;/FONT&gt;文件中信息是以UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;形式存储的（Unicode仅被用作逻辑表示中间码）。&lt;FONT COLOR="#999900"&gt;&lt;br&gt;3&lt;/FONT&gt;、对于Web应用，以Tomcat为例，JSP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;Servlet引擎提供的JSP转换工具（jspc）搜索JSP文件中用&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;lt;%&lt;/FONT&gt;&lt;/B&gt;@&amp;nbsp;page&amp;nbsp;contentType&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;"text/html;&amp;nbsp;charset=&amp;lt;Jsp-charset&amp;gt;"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;%&amp;gt;&lt;/FONT&gt;&lt;/B&gt;指定的charset。如果在JSP文件中未指定&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;Jsp&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;charset&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;，则取系统默认的file&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;encoding（这个值在中文平台上是GBK），可通过控制面板的Regional&amp;nbsp;Options进行修改；jspc用相当于&amp;#8220;javac&amp;nbsp;&amp;#8211;encoding&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;Jsp&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;charset&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&amp;#8221;的命令解释JSP文件中出现的所有字符，包括中文字符和ASCII字符，然后把这些字符转换成Unicode字符，再转化成UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;格式，存为JAVA文件。&lt;br&gt;我曾经偶然将jsp文件存成UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;，而在文件内部使用的charset却是GB2312，结果运行时总是无法正常显示中文，后来转存为默认编码方式才正常。只要文件存储格式与JSP开头的charset设置一致，就都可以正常显示（不过将文件保存成UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;16&lt;/FONT&gt;的情况下我还没有试验成功）。&lt;FONT COLOR="#999900"&gt;&lt;br&gt;4&lt;/FONT&gt;、在XML文件中，encoding表示的是文件本身的编码方式，如果这个参数设定与文件本身实际的编码方式不一致的话，则可能解码失败，所以应该总是将encoding设置成与文件编码方式一致的值；而JSP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;HTML的charset则表示按照何种字符集来解码从文件中读取出来的字符串（在理解中文问题时应该把字符串理解成一个二进制或&lt;FONT COLOR="#999900"&gt;16&lt;/FONT&gt;进制的串，按照不同的charset可能映射成不同的字符）。&lt;br&gt;我曾经在网上就encoding的具体含义跟别人讨论过：如果encoding指的是文件本身的编码方式，那么读取该文件的应用程序在不知道encoding设置的情况下如何正确解读该文件呢？&lt;br&gt;根据讨论及个人理解，处理程序（如jspc）总是按ISO8859&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;1&lt;/FONT&gt;来读取输入文件，然后检查文件开始的几个字节（即Byte&amp;nbsp;Order&amp;nbsp;Mark，BOM，具体如何判断，可以参考Tomcat源码$SOURCE_DIR&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;jasper&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;jasper2&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;src&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;share&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;org&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;apache&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;jasper&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;xmlparser&lt;B&gt;&lt;FONT COLOR="#663300"&gt;\&lt;/FONT&gt;&lt;/B&gt;XMLEncodingDetector&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;java的getEncodingName方法，在JSP&amp;nbsp;Specification的Page&amp;nbsp;Character&amp;nbsp;Encoding一节也有详细论述）以探测文件是以何种格式保存的，当解析到encoding选项时，若encoding设置与文件实际保存格式不一致，会尝试进行转换，但这种转换可能在文件实际以ISO8859&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;等单字节编码而encoding被设置成Unicode、UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;16&lt;/FONT&gt;等双字节编码时发生错误。&lt;br&gt;&lt;br&gt;下面重点讨论JNI中在C&lt;B&gt;&lt;FONT COLOR="#663300"&gt;++&lt;/FONT&gt;&lt;/B&gt;程序与Java程序间进行数据传递时需要注意的问题。&lt;br&gt;在JNI中jstring采用的是UCS&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;2&lt;/FONT&gt;编码，与Java中String的编码方式一致。但是在C&lt;B&gt;&lt;FONT COLOR="#663300"&gt;++&lt;/FONT&gt;&lt;/B&gt;中，字符串是用&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;（&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;位）或者&lt;FONT COLOR="#FF6633"&gt;wchar_t&lt;/FONT&gt;（&lt;FONT COLOR="#999900"&gt;16&lt;/FONT&gt;位，Unicode编码与jchar一致，但并非所有开发平台上都是Unicode编码，详见参考&lt;FONT COLOR="#999900"&gt;6&lt;/FONT&gt;），下面的程序证明了这一点（编译环境：VC6）：&lt;FONT COLOR="#000099"&gt;&lt;br&gt;&lt;br&gt;#include&amp;nbsp;&amp;lt;iostream&amp;gt;&lt;br&gt;&lt;/FONT&gt;&lt;FONT COLOR="#990000"&gt;using&amp;nbsp;namespace&lt;/FONT&gt;&amp;nbsp;std&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&lt;br&gt;int&lt;/FONT&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;main&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&lt;br&gt;{&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;locale&amp;nbsp;loc&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"Chinese-simplified"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;);&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//locale&amp;nbsp;loc(&amp;nbsp;"chs"&amp;nbsp;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//locale&amp;nbsp;loc(&amp;nbsp;"ZHI"&amp;nbsp;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//locale&amp;nbsp;loc(&amp;nbsp;".936"&amp;nbsp;);&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wcout&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;imbue&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;loc&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wcout&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;L"中文"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;endl&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;//若没有L，会出问题&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wchar_t&lt;/FONT&gt;&amp;nbsp;wch&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[]&amp;nbsp;=&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;0x4E2D&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0x6587&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0x0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;};&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;//"中文"二字的Unicode编码&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wcout&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;wch&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;endl&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;}&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;JNI提供了几个方法来实现jstring与&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;wchar_t&lt;/FONT&gt;之间的转换。&lt;br&gt;&lt;br&gt;jsize&amp;nbsp;GetStringLength&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;jstring&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;const&lt;/FONT&gt;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;GetStringChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;jstring&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;jboolean&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;isCopy&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;void&lt;/FONT&gt;&amp;nbsp;ReleaseStringChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;jstring&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;const&lt;/FONT&gt;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;chars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;此外，为了便于以UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;方式进行传输、存储，JNI还提供了几个操作UTF格式的方法：&lt;br&gt;&lt;br&gt;jsize&amp;nbsp;GetStringUTFLength&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;jstring&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;GetStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;jstring&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;jboolean&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;isCopy&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;void&lt;/FONT&gt;&amp;nbsp;ReleaseStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;jstring&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;chars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;GetStringChars返回的是Unicode格式的编码串，而GetStringUTFChars返回的是UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;格式的编码串。&lt;br&gt;要创建一个jstring，可以用如下方式：&lt;br&gt;&lt;br&gt;jstring&amp;nbsp;NewJString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;LPCTSTR&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;)&lt;br&gt;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(!&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;||&amp;nbsp;!&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;strlen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;MultiByteToWideChar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;CP_ACP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;strlen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;),&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;]&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jstring&amp;nbsp;js&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delete&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;[]&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;js&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;}&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;而要将一个jstring对象转为一个&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;字符串数组，可以：&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&lt;br&gt;int&lt;/FONT&gt;&amp;nbsp;JStringToChar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;jstring&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;LPTSTR&amp;nbsp;desc&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;desc_len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;)&lt;br&gt;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;desc&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;==&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;||&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;==&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Check&amp;nbsp;buffer&amp;nbsp;size&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringLength&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;2&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;+&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;desc_len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;2&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;desc&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;desc_len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;wchar_t&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;WideCharToMultiByte&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;CP_ACP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;wcslen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;+&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;desc&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;desc_len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;ReleaseStringChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;desc_len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;desc&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;]&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;strlen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;desc&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;br&gt;}&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;当然，按照上面的分析，你也可以直接将GetStringChars的返回结果作为&lt;FONT COLOR="#FF6633"&gt;wchar_t&lt;/FONT&gt;串来进行操作。或者，如果你愿意，你也可以将GetStringUTFChars的结果通过MultiByteToWideChar转换为UCS2编码串，再通过WideCharToMultiByte转换为多字节串。&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&lt;br&gt;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;pstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT COLOR="#000000"&gt;&amp;nbsp;false&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;int&lt;/FONT&gt;&amp;nbsp;nLen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;MultiByteToWideChar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;CP_UTF8&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;pstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&amp;nbsp;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;);&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//得到UTF-8编码的字符串长度&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;LPWSTR&amp;nbsp;lpwsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&amp;nbsp;WCHAR&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;nLen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;MultiByteToWideChar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;CP_UTF8&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;pstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&amp;nbsp;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;lpwsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;nLen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;);&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//转换的结果是UCS2格式的编码串&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#FF6633"&gt;int&lt;/FONT&gt;&amp;nbsp;nLen1&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;WideCharToMultiByte&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;CP_ACP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;lpwsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;nLen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;);&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;LPSTR&amp;nbsp;lpsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&amp;nbsp;CHAR&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;nLen1&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;WideCharToMultiByte&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;CP_ACP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;lpwsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;nLen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;lpsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;nLen1&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;);&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//将UCS2格式的编码串转换为多字节&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;br&gt;cout&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"Out:"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;lpsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;endl&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&lt;br&gt;delete&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;[]&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;lpwsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;delete&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;[]&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;lpsz&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;当然，我相信很少有人想要或者需要这么做。&lt;br&gt;这里需要注意一点，GetStringChars的返回值是jchar，而GetStringUTFChars的返回值是&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*.&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;除了上面的办法外，当需要经常在jstring和&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;之间进行转换时我们还有一个选择，那就是下面的这个类。这个类本来是一个叫Roger&amp;nbsp;S&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;Reynolds的老外提供的，想法非常棒，但用起来却不太灵光，因为作者将考虑的重心放在UTF格式串上，但在实际操作中，我们往往使用的却是ACP（ANSI&amp;nbsp;code&amp;nbsp;page）串。下面是原作者的程序：&lt;FONT COLOR="#990000"&gt;&lt;br&gt;class&lt;/FONT&gt;&amp;nbsp;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;private&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;//&amp;nbsp;Default&amp;nbsp;ctor&amp;nbsp;-&amp;nbsp;disallowed&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;public&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;instance&amp;nbsp;from&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;jstring&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;const&lt;/FONT&gt;&amp;nbsp;jstring&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;((&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;nbsp;)&lt;/FONT&gt;&lt;/B&gt;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;instance&amp;nbsp;from&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;string&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;const&lt;/FONT&gt;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewStringUTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;())),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;((&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;nbsp;)&lt;/FONT&gt;&lt;/B&gt;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;))&amp;nbsp;{&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;instance&amp;nbsp;as&amp;nbsp;a&amp;nbsp;copy&amp;nbsp;of&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;UTFString&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&amp;nbsp;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewStringUTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;((&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;nbsp;)&lt;/FONT&gt;&lt;/B&gt;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)),&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Delete&amp;nbsp;the&amp;nbsp;instance&amp;nbsp;and&amp;nbsp;release&amp;nbsp;allocated&amp;nbsp;storage&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;~&lt;/FONT&gt;&lt;/B&gt;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;ReleaseStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;assign&amp;nbsp;a&amp;nbsp;new&amp;nbsp;value&amp;nbsp;to&amp;nbsp;this&amp;nbsp;instance&amp;nbsp;from&amp;nbsp;the&amp;nbsp;given&amp;nbsp;string&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;operator&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;ReleaseStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewStringUTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;());&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;nbsp;)&lt;/FONT&gt;&lt;/B&gt;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;this&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;assign&amp;nbsp;a&amp;nbsp;new&amp;nbsp;value&amp;nbsp;to&amp;nbsp;this&amp;nbsp;instance&amp;nbsp;from&amp;nbsp;the&amp;nbsp;given&amp;nbsp;char*&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UTFString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;operator&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;ptr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;ReleaseStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewStringUTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;ptr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;nbsp;)&lt;/FONT&gt;&lt;/B&gt;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringUTFChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;this&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Supply&amp;nbsp;operator&amp;nbsp;methods&amp;nbsp;for&amp;nbsp;converting&amp;nbsp;the&amp;nbsp;UTFString&amp;nbsp;to&amp;nbsp;a&amp;nbsp;string&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;or&amp;nbsp;char*,&amp;nbsp;making&amp;nbsp;it&amp;nbsp;easy&amp;nbsp;to&amp;nbsp;pass&amp;nbsp;UTFString&amp;nbsp;arguments&amp;nbsp;to&amp;nbsp;functions&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;that&amp;nbsp;require&amp;nbsp;string&amp;nbsp;or&amp;nbsp;char*&amp;nbsp;parameters.&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;GetString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;operator&lt;/FONT&gt;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;operator&amp;nbsp;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;nbsp;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;operator&lt;/FONT&gt;&amp;nbsp;jstring&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&lt;br&gt;private&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;The&amp;nbsp;enviroment&amp;nbsp;pointer&amp;nbsp;for&amp;nbsp;this&amp;nbsp;native&amp;nbsp;method.&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jstring&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;A&amp;nbsp;copy&amp;nbsp;of&amp;nbsp;the&amp;nbsp;jstring&amp;nbsp;object&amp;nbsp;that&amp;nbsp;this&amp;nbsp;UTFString&amp;nbsp;represents&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mUtfChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;//&amp;nbsp;Pointer&amp;nbsp;to&amp;nbsp;the&amp;nbsp;data&amp;nbsp;returned&amp;nbsp;by&amp;nbsp;GetStringUTFChars&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;string&amp;nbsp;buffer&amp;nbsp;for&amp;nbsp;holding&amp;nbsp;the&amp;nbsp;"value"&amp;nbsp;of&amp;nbsp;this&amp;nbsp;instance&amp;nbsp;&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;};&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;我将它改了改：&lt;FONT COLOR="#990000"&gt;&lt;br&gt;class&lt;/FONT&gt;&amp;nbsp;JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;private&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;//&amp;nbsp;Default&amp;nbsp;ctor&amp;nbsp;-&amp;nbsp;disallowed&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;public&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;instance&amp;nbsp;from&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;jstring&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;const&lt;/FONT&gt;&amp;nbsp;jstring&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&lt;/FONT&gt;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wcslen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;));&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;//&amp;nbsp;Deep&amp;nbsp;Copy,&amp;nbsp;in&amp;nbsp;usual&amp;nbsp;case&amp;nbsp;we&amp;nbsp;only&amp;nbsp;need&amp;nbsp;Shallow&amp;nbsp;Copy&amp;nbsp;as&amp;nbsp;we&amp;nbsp;just&amp;nbsp;need&amp;nbsp;this&amp;nbsp;class&amp;nbsp;to&amp;nbsp;provide&amp;nbsp;some&amp;nbsp;convenience&amp;nbsp;for&amp;nbsp;handling&amp;nbsp;jstring&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;wcslen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;2&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;+&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WideCharToMultiByte&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;CP_ACP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;wcslen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;+&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;wcslen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;2&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;+&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NULL&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;ReleaseStringChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;w_buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;instance&amp;nbsp;from&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;string&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;const&lt;/FONT&gt;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;length&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;MultiByteToWideChar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;CP_ACP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(),&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;length&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(),&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;]&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delete&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;[]&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;length&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;()&amp;nbsp;+&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strcpy&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;());&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;empty&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;instance&amp;nbsp;as&amp;nbsp;a&amp;nbsp;copy&amp;nbsp;of&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;JNIString&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&amp;nbsp;JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&lt;/FONT&gt;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;wstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetStringChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;wstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;wcslen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;wstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;));&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;ReleaseStringChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;wstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;strlen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;+&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strcpy&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Delete&amp;nbsp;the&amp;nbsp;instance&amp;nbsp;and&amp;nbsp;release&amp;nbsp;allocated&amp;nbsp;storage&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;~&lt;/FONT&gt;&lt;/B&gt;JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;delete&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;[]&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;assign&amp;nbsp;a&amp;nbsp;new&amp;nbsp;value&amp;nbsp;to&amp;nbsp;this&amp;nbsp;instance&amp;nbsp;from&amp;nbsp;the&amp;nbsp;given&amp;nbsp;string&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;operator&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delete&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;[]&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;length&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&amp;nbsp;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;MultiByteToWideChar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;CP_ACP&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(),&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;length&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(),&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;slen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;]&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;len&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delete&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;[]&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;buffer&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;new&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;length&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;()&amp;nbsp;+&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strcpy&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;());&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;*&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;this&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Supply&amp;nbsp;operator&amp;nbsp;methods&amp;nbsp;for&amp;nbsp;converting&amp;nbsp;the&amp;nbsp;JNIString&amp;nbsp;to&amp;nbsp;a&amp;nbsp;string&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;or&amp;nbsp;char*,&amp;nbsp;making&amp;nbsp;it&amp;nbsp;easy&amp;nbsp;to&amp;nbsp;pass&amp;nbsp;JNIString&amp;nbsp;arguments&amp;nbsp;to&amp;nbsp;functions&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;that&amp;nbsp;require&amp;nbsp;string&amp;nbsp;or&amp;nbsp;char*&amp;nbsp;parameters.&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;GetString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;operator&lt;/FONT&gt;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;operator&amp;nbsp;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;nbsp;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;c_str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;operator&lt;/FONT&gt;&amp;nbsp;jstring&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;return&lt;/FONT&gt;&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;&lt;br&gt;private&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;The&amp;nbsp;enviroment&amp;nbsp;pointer&amp;nbsp;for&amp;nbsp;this&amp;nbsp;native&amp;nbsp;method.&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jstring&amp;nbsp;mJstr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;&amp;nbsp;//&amp;nbsp;A&amp;nbsp;copy&amp;nbsp;of&amp;nbsp;the&amp;nbsp;jstring&amp;nbsp;object&amp;nbsp;that&amp;nbsp;this&amp;nbsp;JNIString&amp;nbsp;represents&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mChars&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Pointer&amp;nbsp;to&amp;nbsp;a&amp;nbsp;ANSI&amp;nbsp;code&amp;nbsp;page&amp;nbsp;char&amp;nbsp;array&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;mString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;//&amp;nbsp;string&amp;nbsp;buffer&amp;nbsp;for&amp;nbsp;holding&amp;nbsp;the&amp;nbsp;"value"&amp;nbsp;of&amp;nbsp;this&amp;nbsp;instance&amp;nbsp;(ANSI&amp;nbsp;code&amp;nbsp;page)&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;};&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;后者除了将面向UTF编码改成了面向ANSI编码外，还去掉了&lt;FONT COLOR="#990000"&gt;operator&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&lt;FONT COLOR="#FF6633"&gt;&amp;nbsp;char&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;ptr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;的定义，因为&lt;FONT COLOR="#990000"&gt;operator&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&amp;nbsp;string&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;可以在需要的时候替代前者而无需任何额外编码。（因为按照C&lt;B&gt;&lt;FONT COLOR="#663300"&gt;++&lt;/FONT&gt;&lt;/B&gt;规范，&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&amp;nbsp;reference可以自动转换，详见本人另一文章《关于&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&amp;nbsp;reference的几点说明》http&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//blog.vckbase.com/billdavid/archive/2004/11/11/1453.html）&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;如果你愿意，给JNIString再加个JNIString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;(&lt;/FONT&gt;&lt;/B&gt;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;const&lt;/FONT&gt;&amp;nbsp;wstring&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;和一个&lt;FONT COLOR="#990000"&gt;operator&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;const&lt;/FONT&gt;&amp;nbsp;wstring&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;rhs&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;操作符重载就比较完美了，&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:)&lt;/FONT&gt;&lt;/B&gt;，很简单，留给用得到的朋友自己加吧。&lt;br&gt;下面是一个使用该类的例子（真正跟用于演示的code很少，大部分都是些routine&amp;nbsp;code，&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:)&lt;/FONT&gt;&lt;/B&gt;）：&lt;FONT COLOR="#000099"&gt;&lt;br&gt;#include&amp;nbsp;&amp;lt;iostream&amp;gt;&lt;br&gt;#include&amp;nbsp;&amp;lt;string&amp;gt;&lt;br&gt;#include&amp;nbsp;&amp;lt;assert.h&amp;gt;&lt;br&gt;#include&amp;nbsp;&amp;lt;jni.h&amp;gt;&lt;br&gt;&lt;/FONT&gt;&lt;FONT COLOR="#990000"&gt;&lt;br&gt;using&amp;nbsp;namespace&lt;/FONT&gt;&amp;nbsp;std&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&lt;br&gt;int&lt;/FONT&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;main&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;()&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/FONT&gt;&amp;nbsp;res&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JavaVM&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;jvm&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIEnv&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JavaVMInitArgs&amp;nbsp;vm_args&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JavaVMOption&amp;nbsp;options&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;3&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;].&lt;/FONT&gt;&lt;/B&gt;optionString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"-Djava.compiler=NONE"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;].&lt;/FONT&gt;&lt;/B&gt;optionString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"-Djava.class.path=.;.."&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&amp;nbsp;//&amp;nbsp;..&amp;nbsp;is&amp;nbsp;specially&amp;nbsp;for&amp;nbsp;this&amp;nbsp;project&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options&lt;B&gt;&lt;FONT COLOR="#663300"&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;2&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;].&lt;/FONT&gt;&lt;/B&gt;optionString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"-verbose:jni"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vm_args&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;version&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;JNI_VERSION_1_4&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vm_args&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;nOptions&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;3&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vm_args&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;options&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;options&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vm_args&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;ignoreUnrecognized&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;JNI_TRUE&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;JNI_CreateJavaVM&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;jvm&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;void&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;nbsp;*&amp;nbsp;)&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&amp;nbsp;&amp;amp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;vm_args&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;res&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&amp;nbsp;{&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fprintf&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;stderr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"Can't&amp;nbsp;create&amp;nbsp;Java&amp;nbsp;VM\n"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;1&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jclass&amp;nbsp;cls&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;FindClass&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;"jni/test/Demo"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;!=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;cls&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jmethodID&amp;nbsp;mid&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetMethodID&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;cls&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"&amp;lt;init&amp;gt;"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"(Ljava/lang/String;)V"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;!=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mid&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF6633"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wchar_t&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;p&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;L"中国"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jobject&amp;nbsp;obj&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewObject&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;cls&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mid&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;NewString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#990000"&gt;reinterpret_cast&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;jchar&lt;B&gt;&lt;FONT COLOR="#663300"&gt;*&amp;gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;p&lt;B&gt;&lt;FONT COLOR="#663300"&gt;),&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;wcslen&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;p&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)));&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;!=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;obj&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mid&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;GetMethodID&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;cls&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"getMessage"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"()Ljava/lang/String;"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;!=&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mid&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jstring&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;jstring&lt;B&gt;&lt;FONT COLOR="#663300"&gt;)&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;CallObjectMethod&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;obj&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;mid&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;use&amp;nbsp;JNIString&amp;nbsp;for&amp;nbsp;easier&amp;nbsp;handling.&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JNIString&amp;nbsp;jnistr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;env&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;str&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"JNIString:"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;jnistr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;GetString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;()&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;endl&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jnistr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"中文"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cout&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;jnistr&lt;B&gt;&lt;FONT COLOR="#663300"&gt;.&lt;/FONT&gt;&lt;/B&gt;GetString&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;()&amp;nbsp;&amp;lt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;endl&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jvm&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&amp;gt;&lt;/FONT&gt;&lt;/B&gt;DestroyJavaVM&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;();&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fprintf&lt;B&gt;&lt;FONT COLOR="#663300"&gt;&amp;nbsp;(&lt;/FONT&gt;&lt;/B&gt;stdout&lt;B&gt;&lt;FONT COLOR="#663300"&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#009900"&gt;&amp;nbsp;"Java&amp;nbsp;VM&amp;nbsp;destory.\n"&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#FF0000"&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&lt;/FONT&gt;&lt;FONT COLOR="#999900"&gt;&amp;nbsp;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;;&lt;br&gt;}&lt;/FONT&gt;&lt;/B&gt;&lt;br&gt;&lt;br&gt;参考：&lt;FONT COLOR="#999900"&gt;&lt;br&gt;1&lt;/FONT&gt;、UTF&lt;B&gt;&lt;FONT COLOR="#663300"&gt;-&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#999900"&gt;8&lt;/FONT&gt;&lt;FONT COLOR="#990000"&gt;&amp;nbsp;and&lt;/FONT&gt;&amp;nbsp;Unicode&amp;nbsp;FAQ&lt;FONT COLOR="#FF0000"&gt;&amp;nbsp;for&lt;/FONT&gt;&amp;nbsp;Unix&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;Linuxs，http&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//www.cl.cam.ac.uk/~mgk25/unicode.html，其中文翻译见http://www.linuxforum.net/books/UTF-8-Unicode.html&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#999900"&gt;2&lt;/FONT&gt;、深入剖析Java编程中的中文问题及建议最优解决方法，http&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//blog.csdn.net/abnerchai/archive/2004/04/28/18576.aspx&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#999900"&gt;3&lt;/FONT&gt;、关于Java中文问题的几条分析原则，http&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//www-900.ibm.com/developerWorks/cn/java/l-javachinese/index.shtml&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#999900"&gt;4&lt;/FONT&gt;、Java&amp;nbsp;编程技术中汉字问题的分析及解决，http&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//www-900.ibm.com/developerWorks/cn/java/java_chinese/index.shtml&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#999900"&gt;5&lt;/FONT&gt;、深入剖析JSP和Servlet对中文的处理过程，http&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//blog.csdn.net/deuso/archive/2005/12/01/541511.aspx&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#999900"&gt;6&lt;/FONT&gt;、宽字符标量&lt;FONT COLOR="#009900"&gt;L"xx"&lt;/FONT&gt;在VC6&lt;FONT COLOR="#996600"&gt;.0&lt;/FONT&gt;&lt;B&gt;&lt;FONT COLOR="#663300"&gt;/&lt;/FONT&gt;&lt;/B&gt;&lt;FONT COLOR="#996600"&gt;7.0&lt;/FONT&gt;和GNU&amp;nbsp;g&lt;B&gt;&lt;FONT COLOR="#663300"&gt;++&lt;/FONT&gt;&lt;/B&gt;中的不同实现，http&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//blog.vckbase.com/smileonce/archive/2004/12/09/1972.html&lt;br&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT COLOR="#999900"&gt;7&lt;/FONT&gt;、XML&amp;nbsp;Encoding，http&lt;B&gt;&lt;FONT COLOR="#663300"&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT COLOR="#999999"&gt;//www.w3schools.com/xml/xml_encoding.asp&lt;/FONT&gt;&lt;/I&gt;&lt;img src ="http://blog.vckbase.com/billdavid/aggbug/17657.html" width = "1" height = "1" /&gt;</description></item></channel></rss>