mozilla

Compare Revisions

StringView

Change Revisions

Revision 500429:

Revision 500429 by pincopalla on

Revision 503553:

Revision 503553 by fusionchess on

Title:
StringView
StringView
Slug:
Code_snippets/StringView
Code_snippets/StringView
Tags:
"Code snippet", "MDN JavaScript Libraries", "Sample code", "Guide", "js-ctypes", "WebGL", "JavaScript typed arrays", "JavaScript", "Typed Arrays", "WebSockets"
"Code snippet", "MDN JavaScript Libraries", "Sample code", "Guide", "js-ctypes", "WebGL", "JavaScript typed arrays", "JavaScript", "Typed Arrays", "WebSockets"
Content:

Revision 500429
Revision 503553
n1073          <li>The start offset of the new <code>stringView</code>n1073          <li>The start offset of the new <code>stringView</code>
> <strong>in <a href="#glossary_element" title="Element - glossary> <strong>in raw <a href="#glossary_element" title="Element - glos
>">raw elements</a></strong> if the input argument is a <a href="/>sary">elements</a></strong> if the input argument is a <a href="/
>en-US/docs/Web/JavaScript/Typed_arrays">typed array</a> or other >en-US/docs/Web/JavaScript/Typed_arrays">typed array</a> or other 
>ordered object>ordered object
n1084      A <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objen1084      A <a href="/en-US/docs/Web/JavaScript/Reference/Global_Obje
>cts/Number">number</a> expressing the length <strong>in <a href=">cts/Number">number</a> expressing <strong>in <a href="#glossary_c
>#glossary_codepoint" title="Codepoint - glossary">codepoints</a><>odepoint" title="Codepoint - glossary">codepoints</a></strong> th
>/strong> of the new <code>stringView</code>. If not specified it >e length of the new <code>stringView</code> if the <code>input</c
>will take the length of the input.>ode> argument is a <code>string</code> or a <code>stringView</cod
 >e>, or <strong>in raw <a href="#glossary_element" title="Element 
 >- glossary">elements</a></strong> if the input is a <a href="/en-
 >US/docs/Web/JavaScript/Typed_arrays">typed array</a>, an <a href=
 >"/en-US/docs/Web/JavaScript/Typed_arrays/ArrayBuffer"><code>array
 >Buffer</code></a> or any other kind ordered object (like <a href=
 >"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array"><code
 >>Array</code></a>, collections, etc.). If not specified it will t
 >ake the length of the input. <strong>It never can be major than t
 >he length of the input</strong>. If you want to see how create a 
 >stringView bigger than its content, please, see <a href="#note_ab
 >out_length">this note</a>.
n1086    <h4 id="Examples">n
1087      Examples
1088    </h4>
1089    <pre class="brush: js">
1090var myStringView1 = new StringView("Hello world!"); // UTF-8
1091 
1092alert(myStringView) // "Hello world!"
1093 
1094var myStringView2 = new StringView(myStringView1, "UTF-16");
1095 
1096alert(myStringView1.buffer.byteLength); // 12
1097alert(myStringView2.buffer.byteLength); // 24
1098</pre>
n1241                A <a href="/en-US/docs/Web/JavaScript/Reference/Gn1228                A <a href="/en-US/docs/Web/JavaScript/Reference/G
>lobal_Objects/Number">number</a> expressing the position <strong>>lobal_Objects/Number">number</a> expressing the position <strong>
>in <a href="#glossary_element" title="Element - glossary">raw ele>in raw&nbsp;<a href="#glossary_element" title="Element - glossary
>ments</a></strong> of the characters parts to skip. If omitted it>">elements</a></strong> of the characters parts to skip. If omitt
> will be considered as <code>0</code>.>ed it will be considered as <code>0</code>.
tt2174</pre>
2175      </li>
2176      <li id="note_about_length">If you want to create a <code>st
 >ringView</code> inside a <em>bigger</em> empty buffer, like in th
 >e following <strong><a href="http://en.wikipedia.org/wiki/C_%28pr
 >ogramming_language%29">C</a></strong> line
2177        <pre class="brush: c">
2178/* myBuffer: 12 character followed by 1012 NULLs... */
2179char myBuffer[1024] = "Hello world!";
2180</pre>you should do something like this:
2181        <pre class="brush: js">
2182var mySW = new StringView("Hello world!");
2183var myBuffer = new StringView(1024);
2184/* myBuffer: 12 character followed by 1012 NULLs... */
2185myBuffer.rawData.set(mySW.rawData, mySW.rawData.length);
2186</pre>
2187        <h4 id="Examples">
2188          Examples
2189        </h4>
2190        <pre class="brush: js">
2191var myStringView1 = new StringView("Hello world!"); // UTF-8
2192 
2193alert(myStringView) // "Hello world!"
2194 
2195var myStringView2 = new StringView(myStringView1, "UTF-16");
2196 
2197alert(myStringView1.buffer.byteLength); // 12
2198alert(myStringView2.buffer.byteLength); // 24

Back to History