<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<title>FlatBuffers: com.google.flatbuffers.Utf8Old Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,700" rel="stylesheet">
<link href="style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea" style="height: 110px;">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="commonprojectlogo">
    <img alt="Logo" src="fpl_logo_small.png"/>
  </td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">FlatBuffers
   </div>
   <div style="font-size:12px;">
    An open source project by <a href="https://developers.google.com/games/#Tools">FPL</a>.
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classcom_1_1google_1_1flatbuffers_1_1_utf8_old.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcom_1_1google_1_1flatbuffers_1_1_utf8_old-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">com.google.flatbuffers.Utf8Old Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This class implements the Utf8 API using the Java Utf8 encoder.  
 <a href="classcom_1_1google_1_1flatbuffers_1_1_utf8_old.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for com.google.flatbuffers.Utf8Old:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcom_1_1google_1_1flatbuffers_1_1_utf8_old.png" usemap="#com.google.flatbuffers.Utf8Old_map" alt=""/>
  <map id="com.google.flatbuffers.Utf8Old_map" name="com.google.flatbuffers.Utf8Old_map">
<area href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html" alt="com.google.flatbuffers.Utf8" shape="rect" coords="0,0,184,24"/>
  </map>
</div></div>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class implements the Utf8 API using the Java Utf8 encoder. </p>
<p>Use Utf8.setDefault(new Utf8Old()); to use it. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0624ce5b0badb691abffcde6f89418a6"><td class="memItemLeft" align="right" valign="top">String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8_old.html#a0624ce5b0badb691abffcde6f89418a6">decodeUtf8</a> (ByteBuffer buffer, int offset, int length)</td></tr>
<tr class="memdesc:a0624ce5b0badb691abffcde6f89418a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes the given UTF-8 portion of the <a class="el" href="">ByteBuffer</a> into a <a class="el" href="">String</a>.  <a href="classcom_1_1google_1_1flatbuffers_1_1_utf8_old.html#a0624ce5b0badb691abffcde6f89418a6">More...</a><br /></td></tr>
<tr class="separator:a0624ce5b0badb691abffcde6f89418a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af955284b2754ee1f27832845fa8f29f1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8_old.html#af955284b2754ee1f27832845fa8f29f1">encodedLength</a> (CharSequence in)</td></tr>
<tr class="memdesc:af955284b2754ee1f27832845fa8f29f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes in the UTF-8-encoded form of.  <a href="classcom_1_1google_1_1flatbuffers_1_1_utf8_old.html#af955284b2754ee1f27832845fa8f29f1">More...</a><br /></td></tr>
<tr class="separator:af955284b2754ee1f27832845fa8f29f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5a4971f1696a7efb4b2f56bbcdaf553"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8_old.html#af5a4971f1696a7efb4b2f56bbcdaf553">encodeUtf8</a> (CharSequence in, ByteBuffer out)</td></tr>
<tr class="memdesc:af5a4971f1696a7efb4b2f56bbcdaf553"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes the given characters to the target <a class="el" href="">ByteBuffer</a> using UTF-8 encoding.  <a href="classcom_1_1google_1_1flatbuffers_1_1_utf8_old.html#af5a4971f1696a7efb4b2f56bbcdaf553">More...</a><br /></td></tr>
<tr class="separator:af5a4971f1696a7efb4b2f56bbcdaf553"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html">com.google.flatbuffers.Utf8</a></td></tr>
<tr class="memitem:a948306c5d5b42739bd1e42cc462c0395 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a948306c5d5b42739bd1e42cc462c0395">encodeUtf8CodePoint</a> (CharSequence in, int start, byte[] out)</td></tr>
<tr class="memdesc:a948306c5d5b42739bd1e42cc462c0395 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode a Java's CharSequence UTF8 codepoint into a byte array.  <a href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a948306c5d5b42739bd1e42cc462c0395">More...</a><br /></td></tr>
<tr class="separator:a948306c5d5b42739bd1e42cc462c0395 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a291c293832c8f646817afefad4c24858 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html">Utf8</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a291c293832c8f646817afefad4c24858">getDefault</a> ()</td></tr>
<tr class="memdesc:a291c293832c8f646817afefad4c24858 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default UTF-8 processor.  <a href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a291c293832c8f646817afefad4c24858">More...</a><br /></td></tr>
<tr class="separator:a291c293832c8f646817afefad4c24858 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59a8ffdd2205343d3c64d0b764eeab17 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a59a8ffdd2205343d3c64d0b764eeab17">setDefault</a> (<a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html">Utf8</a> instance)</td></tr>
<tr class="memdesc:a59a8ffdd2205343d3c64d0b764eeab17 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default instance of the UTF-8 processor.  <a href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a59a8ffdd2205343d3c64d0b764eeab17">More...</a><br /></td></tr>
<tr class="separator:a59a8ffdd2205343d3c64d0b764eeab17 inherit pub_static_methods_classcom_1_1google_1_1flatbuffers_1_1_utf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a0624ce5b0badb691abffcde6f89418a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0624ce5b0badb691abffcde6f89418a6">&#9670;&nbsp;</a></span>decodeUtf8()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">String com.google.flatbuffers.Utf8Old.decodeUtf8 </td>
          <td>(</td>
          <td class="paramtype">ByteBuffer&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Decodes the given UTF-8 portion of the <a class="el" href="">ByteBuffer</a> into a <a class="el" href="">String</a>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">IllegalArgumentException</td><td>if the input is not valid UTF-8. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a0d28f84afeb4c529deacf82691f004c8">com.google.flatbuffers.Utf8</a>.</p>

</div>
</div>
<a id="af955284b2754ee1f27832845fa8f29f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af955284b2754ee1f27832845fa8f29f1">&#9670;&nbsp;</a></span>encodedLength()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int com.google.flatbuffers.Utf8Old.encodedLength </td>
          <td>(</td>
          <td class="paramtype">CharSequence&#160;</td>
          <td class="paramname"><em>sequence</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of bytes in the UTF-8-encoded form of. </p>
<div class="fragment"><div class="line">sequence </div>
</div><!-- fragment --><p> . For a string, this method is equivalent to</p><div class="fragment"><div class="line"><span class="keywordtype">string</span>.getBytes(UTF_8).length </div>
</div><!-- fragment --><p> , but is more efficient in both time and space.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">IllegalArgumentException</td><td>if<div class="fragment"><div class="line">sequence </div>
</div><!-- fragment --> contains ill-formed UTF-16 (unpaired surrogates) </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a88db1f58c8651f849151d4563f86bcab">com.google.flatbuffers.Utf8</a>.</p>

</div>
</div>
<a id="af5a4971f1696a7efb4b2f56bbcdaf553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5a4971f1696a7efb4b2f56bbcdaf553">&#9670;&nbsp;</a></span>encodeUtf8()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void com.google.flatbuffers.Utf8Old.encodeUtf8 </td>
          <td>(</td>
          <td class="paramtype">CharSequence&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ByteBuffer&#160;</td>
          <td class="paramname"><em>out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Encodes the given characters to the target <a class="el" href="">ByteBuffer</a> using UTF-8 encoding. </p>
<p>Selects an optimal algorithm based on the type of <a class="el" href="">ByteBuffer</a> (i.e. heap or direct) and the capabilities of the platform.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>the source string to be encoded </td></tr>
    <tr><td class="paramname">out</td><td>the target buffer to receive the encoded string. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classcom_1_1google_1_1flatbuffers_1_1_utf8.html#a60b4b2e81aae13bd5a0d09b95a0be4bb">com.google.flatbuffers.Utf8</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Utf8Old.java</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- Google Analytics -->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-49880327-7', 'auto');
  ga('send', 'pageview');
</script>
</body>
</html>
