1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<!-- NewPage --> 3<html lang="en"> 4<head> 5<!-- Generated by javadoc --> 6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7<title>BitSource (ZXing 3.5.1 API)</title> 8<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> 9<script type="text/javascript" src="../../../../script.js"></script> 10</head> 11<body> 12<script type="text/javascript"><!-- 13 try { 14 if (location.href.indexOf('is-external=true') == -1) { 15 parent.document.title="BitSource (ZXing 3.5.1 API)"; 16 } 17 } 18 catch(err) { 19 } 20//--> 21var methods = {"i0":10,"i1":10,"i2":10,"i3":10}; 22var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; 23var altColor = "altColor"; 24var rowColor = "rowColor"; 25var tableTab = "tableTab"; 26var activeTableTab = "activeTableTab"; 27</script> 28<noscript> 29<div>JavaScript is disabled on your browser.</div> 30</noscript> 31<!-- ========= START OF TOP NAVBAR ======= --> 32<div class="topNav"><a name="navbar.top"> 33<!-- --> 34</a> 35<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> 36<a name="navbar.top.firstrow"> 37<!-- --> 38</a> 39<ul class="navList" title="Navigation"> 40<li><a href="../../../../overview-summary.html">Overview</a></li> 41<li><a href="package-summary.html">Package</a></li> 42<li class="navBarCell1Rev">Class</li> 43<li><a href="class-use/BitSource.html">Use</a></li> 44<li><a href="package-tree.html">Tree</a></li> 45<li><a href="../../../../deprecated-list.html">Deprecated</a></li> 46<li><a href="../../../../index-all.html">Index</a></li> 47<li><a href="../../../../help-doc.html">Help</a></li> 48</ul> 49</div> 50<div class="subNav"> 51<ul class="navList"> 52<li><a href="../../../../com/google/zxing/common/BitMatrix.html" title="class in com.google.zxing.common"><span class="typeNameLink">Prev Class</span></a></li> 53<li><a href="../../../../com/google/zxing/common/CharacterSetECI.html" title="enum in com.google.zxing.common"><span class="typeNameLink">Next Class</span></a></li> 54</ul> 55<ul class="navList"> 56<li><a href="../../../../index.html?com/google/zxing/common/BitSource.html" target="_top">Frames</a></li> 57<li><a href="BitSource.html" target="_top">No Frames</a></li> 58</ul> 59<ul class="navList" id="allclasses_navbar_top"> 60<li><a href="../../../../allclasses-noframe.html">All Classes</a></li> 61</ul> 62<div> 63<script type="text/javascript"><!-- 64 allClassesLink = document.getElementById("allclasses_navbar_top"); 65 if(window==top) { 66 allClassesLink.style.display = "block"; 67 } 68 else { 69 allClassesLink.style.display = "none"; 70 } 71 //--> 72</script> 73</div> 74<div> 75<ul class="subNavList"> 76<li>Summary: </li> 77<li>Nested | </li> 78<li>Field | </li> 79<li><a href="#constructor.summary">Constr</a> | </li> 80<li><a href="#method.summary">Method</a></li> 81</ul> 82<ul class="subNavList"> 83<li>Detail: </li> 84<li>Field | </li> 85<li><a href="#constructor.detail">Constr</a> | </li> 86<li><a href="#method.detail">Method</a></li> 87</ul> 88</div> 89<a name="skip.navbar.top"> 90<!-- --> 91</a></div> 92<!-- ========= END OF TOP NAVBAR ========= --> 93<!-- ======== START OF CLASS DATA ======== --> 94<div class="header"> 95<div class="subTitle">com.google.zxing.common</div> 96<h2 title="Class BitSource" class="title">Class BitSource</h2> 97</div> 98<div class="contentContainer"> 99<ul class="inheritance"> 100<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> 101<li> 102<ul class="inheritance"> 103<li>com.google.zxing.common.BitSource</li> 104</ul> 105</li> 106</ul> 107<div class="description"> 108<ul class="blockList"> 109<li class="blockList"> 110<hr> 111<br> 112<pre>public final class <span class="typeNameLabel">BitSource</span> 113extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> 114<div class="block"><p>This provides an easy abstraction to read bits at a time from a sequence of bytes, where the 115 number of bits read is not often a multiple of 8.</p> 116 117 <p>This class is thread-safe but not reentrant -- unless the caller modifies the bytes array 118 it passed in, in which case all bets are off.</p></div> 119<dl> 120<dt><span class="simpleTagLabel">Author:</span></dt> 121<dd>Sean Owen</dd> 122</dl> 123</li> 124</ul> 125</div> 126<div class="summary"> 127<ul class="blockList"> 128<li class="blockList"> 129<!-- ======== CONSTRUCTOR SUMMARY ======== --> 130<ul class="blockList"> 131<li class="blockList"><a name="constructor.summary"> 132<!-- --> 133</a> 134<h3>Constructor Summary</h3> 135<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> 136<caption><span>Constructors</span><span class="tabEnd"> </span></caption> 137<tr> 138<th class="colOne" scope="col">Constructor and Description</th> 139</tr> 140<tr class="altColor"> 141<td class="colOne"><code><span class="memberNameLink"><a href="../../../../com/google/zxing/common/BitSource.html#BitSource-byte:A-">BitSource</a></span>(byte[] bytes)</code> </td> 142</tr> 143</table> 144</li> 145</ul> 146<!-- ========== METHOD SUMMARY =========== --> 147<ul class="blockList"> 148<li class="blockList"><a name="method.summary"> 149<!-- --> 150</a> 151<h3>Method Summary</h3> 152<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> 153<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> 154<tr> 155<th class="colFirst" scope="col">Modifier and Type</th> 156<th class="colLast" scope="col">Method and Description</th> 157</tr> 158<tr id="i0" class="altColor"> 159<td class="colFirst"><code>int</code></td> 160<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/zxing/common/BitSource.html#available--">available</a></span>()</code> </td> 161</tr> 162<tr id="i1" class="rowColor"> 163<td class="colFirst"><code>int</code></td> 164<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/zxing/common/BitSource.html#getBitOffset--">getBitOffset</a></span>()</code> </td> 165</tr> 166<tr id="i2" class="altColor"> 167<td class="colFirst"><code>int</code></td> 168<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/zxing/common/BitSource.html#getByteOffset--">getByteOffset</a></span>()</code> </td> 169</tr> 170<tr id="i3" class="rowColor"> 171<td class="colFirst"><code>int</code></td> 172<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/google/zxing/common/BitSource.html#readBits-int-">readBits</a></span>(int numBits)</code> </td> 173</tr> 174</table> 175<ul class="blockList"> 176<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> 177<!-- --> 178</a> 179<h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> 180<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> 181</ul> 182</li> 183</ul> 184</li> 185</ul> 186</div> 187<div class="details"> 188<ul class="blockList"> 189<li class="blockList"> 190<!-- ========= CONSTRUCTOR DETAIL ======== --> 191<ul class="blockList"> 192<li class="blockList"><a name="constructor.detail"> 193<!-- --> 194</a> 195<h3>Constructor Detail</h3> 196<a name="BitSource-byte:A-"> 197<!-- --> 198</a> 199<ul class="blockListLast"> 200<li class="blockList"> 201<h4>BitSource</h4> 202<pre>public BitSource(byte[] bytes)</pre> 203<dl> 204<dt><span class="paramLabel">Parameters:</span></dt> 205<dd><code>bytes</code> - bytes from which this will read bits. Bits will be read from the first byte first. 206 Bits are read within a byte from most-significant to least-significant bit.</dd> 207</dl> 208</li> 209</ul> 210</li> 211</ul> 212<!-- ============ METHOD DETAIL ========== --> 213<ul class="blockList"> 214<li class="blockList"><a name="method.detail"> 215<!-- --> 216</a> 217<h3>Method Detail</h3> 218<a name="getBitOffset--"> 219<!-- --> 220</a> 221<ul class="blockList"> 222<li class="blockList"> 223<h4>getBitOffset</h4> 224<pre>public int getBitOffset()</pre> 225<dl> 226<dt><span class="returnLabel">Returns:</span></dt> 227<dd>index of next bit in current byte which would be read by the next call to <a href="../../../../com/google/zxing/common/BitSource.html#readBits-int-"><code>readBits(int)</code></a>.</dd> 228</dl> 229</li> 230</ul> 231<a name="getByteOffset--"> 232<!-- --> 233</a> 234<ul class="blockList"> 235<li class="blockList"> 236<h4>getByteOffset</h4> 237<pre>public int getByteOffset()</pre> 238<dl> 239<dt><span class="returnLabel">Returns:</span></dt> 240<dd>index of next byte in input byte array which would be read by the next call to <a href="../../../../com/google/zxing/common/BitSource.html#readBits-int-"><code>readBits(int)</code></a>.</dd> 241</dl> 242</li> 243</ul> 244<a name="readBits-int-"> 245<!-- --> 246</a> 247<ul class="blockList"> 248<li class="blockList"> 249<h4>readBits</h4> 250<pre>public int readBits(int numBits)</pre> 251<dl> 252<dt><span class="paramLabel">Parameters:</span></dt> 253<dd><code>numBits</code> - number of bits to read</dd> 254<dt><span class="returnLabel">Returns:</span></dt> 255<dd>int representing the bits read. The bits will appear as the least-significant 256 bits of the int</dd> 257<dt><span class="throwsLabel">Throws:</span></dt> 258<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if numBits isn't in [1,32] or more than is available</dd> 259</dl> 260</li> 261</ul> 262<a name="available--"> 263<!-- --> 264</a> 265<ul class="blockListLast"> 266<li class="blockList"> 267<h4>available</h4> 268<pre>public int available()</pre> 269<dl> 270<dt><span class="returnLabel">Returns:</span></dt> 271<dd>number of bits that can be read successfully</dd> 272</dl> 273</li> 274</ul> 275</li> 276</ul> 277</li> 278</ul> 279</div> 280</div> 281<!-- ========= END OF CLASS DATA ========= --> 282<!-- ======= START OF BOTTOM NAVBAR ====== --> 283<div class="bottomNav"><a name="navbar.bottom"> 284<!-- --> 285</a> 286<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> 287<a name="navbar.bottom.firstrow"> 288<!-- --> 289</a> 290<ul class="navList" title="Navigation"> 291<li><a href="../../../../overview-summary.html">Overview</a></li> 292<li><a href="package-summary.html">Package</a></li> 293<li class="navBarCell1Rev">Class</li> 294<li><a href="class-use/BitSource.html">Use</a></li> 295<li><a href="package-tree.html">Tree</a></li> 296<li><a href="../../../../deprecated-list.html">Deprecated</a></li> 297<li><a href="../../../../index-all.html">Index</a></li> 298<li><a href="../../../../help-doc.html">Help</a></li> 299</ul> 300</div> 301<div class="subNav"> 302<ul class="navList"> 303<li><a href="../../../../com/google/zxing/common/BitMatrix.html" title="class in com.google.zxing.common"><span class="typeNameLink">Prev Class</span></a></li> 304<li><a href="../../../../com/google/zxing/common/CharacterSetECI.html" title="enum in com.google.zxing.common"><span class="typeNameLink">Next Class</span></a></li> 305</ul> 306<ul class="navList"> 307<li><a href="../../../../index.html?com/google/zxing/common/BitSource.html" target="_top">Frames</a></li> 308<li><a href="BitSource.html" target="_top">No Frames</a></li> 309</ul> 310<ul class="navList" id="allclasses_navbar_bottom"> 311<li><a href="../../../../allclasses-noframe.html">All Classes</a></li> 312</ul> 313<div> 314<script type="text/javascript"><!-- 315 allClassesLink = document.getElementById("allclasses_navbar_bottom"); 316 if(window==top) { 317 allClassesLink.style.display = "block"; 318 } 319 else { 320 allClassesLink.style.display = "none"; 321 } 322 //--> 323</script> 324</div> 325<div> 326<ul class="subNavList"> 327<li>Summary: </li> 328<li>Nested | </li> 329<li>Field | </li> 330<li><a href="#constructor.summary">Constr</a> | </li> 331<li><a href="#method.summary">Method</a></li> 332</ul> 333<ul class="subNavList"> 334<li>Detail: </li> 335<li>Field | </li> 336<li><a href="#constructor.detail">Constr</a> | </li> 337<li><a href="#method.detail">Method</a></li> 338</ul> 339</div> 340<a name="skip.navbar.bottom"> 341<!-- --> 342</a></div> 343<!-- ======== END OF BOTTOM NAVBAR ======= --> 344<p class="legalCopy"><small>Copyright © 2007–2022. All rights reserved.</small></p> 345</body> 346</html> 347