Sample code for 30+ languages & platforms
Android™

StringBuilder to Bytes (in BinData)

Demonstrates converting a string to bytes of a particular character encoding.

Note: This example requires Chilkat v9.5.0.64 or later.

Chilkat Android™ Downloads

Android™
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    boolean success = false;

    //  This initial step gets string data to be used in this example from a live URL.
    //  It assumes Chilkat HTTP API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    CkHttp http = new CkHttp();
    http.put_VerboseLogging(true);
    CkStringBuilder sbJson = new CkStringBuilder();
    success = http.QuickGetSb("https://www.chilkatsoft.com/exampleData/greekAlphabet.json",sbJson);
    if (!success) {
        Log.i(TAG, http.lastErrorText());
        return;
        }

    CkStringBuilder sbGreek = new CkStringBuilder();
    CkJsonObject json = new CkJsonObject();
    json.LoadSb(sbJson);

    //  The JSON contains this:

    //  	{ 
    //  	  "greekAlphabet": "Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η Θ θ Ι ι Κ κ Λ λ Μ μ Ν ν Ξ ξ Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ Φ φ Χ χ Ψ ψ Ω ω"
    //  	} 

    String greekAlphabet = json.stringOf("greekAlphabet");
    sbGreek.Append(greekAlphabet);

    //  Append the Windows-1253 represention of the string..
    //  In this encoding, each Greek char is one byte per char.
    CkBinData binWindows1253 = new CkBinData();
    binWindows1253.AppendSb(sbGreek,"windows-1253");
    //  Save to a Windows-1253 text file:
    binWindows1253.WriteFile("qa_output/greek_win1253.txt");

    //  Show the bytes in the quoted-printable format so we can easily see the Windows-1253 byte values.
    Log.i(TAG, binWindows1253.getEncoded("qp"));
    Log.i(TAG, "--------------------------------");

    //  The result is shown here:
    //  	=C1 =E1 =C2 =E2 =C3 =E3 =C4 =E4 =C5 =E5 =C6 =E6 =C7 =E7 =C8 =E8 =C9 =E9 =CA=
    //  	 =EA =CB =EB =CC =EC =CD =ED =CE =EE =CF =EF =D0 =F0 =D1 =F1 =D3 =F3 =F2 =
    //  	=D4 =F4 =D5 =F5 =D6 =F6 =D7 =F7 =D8 =F8 =D9 =F9

    //  Append the utf-8 represention of the string..
    CkBinData binUtf8 = new CkBinData();
    binUtf8.AppendBom("utf-8");
    binUtf8.AppendSb(sbGreek,"utf-8");
    //  Save to a utf-8 text file:
    binUtf8.WriteFile("qa_output/greek_utf8.txt");
    //  Show the bytes in the quoted-printable format so we can easily see the utf-8 char representations.
    Log.i(TAG, binUtf8.getEncoded("qp"));

    Log.i(TAG, "--------------------------------");

    //  These are the utf-8 bytes shown in quoted-printable encoding:
    //  	=EF=BB=BF=CE=91 =CE=B1 =CE=92 =CE=B2 =CE=93 =CE=B3 =CE=94 =CE=B4 =CE=95 =CE=
    //  	=B5 =CE=96 =CE=B6 =CE=97 =CE=B7 =CE=98 =CE=B8 =CE=99 =CE=B9 =CE=9A =CE=BA =
    //  	=CE=9B =CE=BB =CE=9C =CE=BC =CE=9D =CE=BD =CE=9E =CE=BE =CE=9F =CE=BF =CE=
    //  	=A0 =CF=80 =CE=A1 =CF=81 =CE=A3 =CF=83 =CF=82 =CE=A4 =CF=84 =CE=A5 =CF=85 =
    //  	=CE=A6 =CF=86 =CE=A7 =CF=87 =CE=A8 =CF=88 =CE=A9 =CF=89

    //  Append the utf-16 (little endian) represention of the string..
    CkBinData binUtf16 = new CkBinData();
    binUtf16.AppendBom("utf-16");
    binUtf16.AppendSb(sbGreek,"utf-16");
    //  Save to a utf-16 text file:
    binUtf16.WriteFile("qa_output/greek_utf16.txt");
    Log.i(TAG, binUtf16.getEncoded("qp"));

    //  These are the utf-16 bytes shown in quoted-printable encoding:
    //  	=FF=FE=91=03 =00=B1=03 =00=92=03 =00=B2=03 =00=93=03 =00=B3=03 =00=94=03 =
    //  	=00=B4=03 =00=95=03 =00=B5=03 =00=96=03 =00=B6=03 =00=97=03 =00=B7=03 =00=
    //  	=98=03 =00=B8=03 =00=99=03 =00=B9=03 =00=9A=03 =00=BA=03 =00=9B=03 =00=BB=
    //  	=03 =00=9C=03 =00=BC=03 =00=9D=03 =00=BD=03 =00=9E=03 =00=BE=03 =00=9F=03 =
    //  	=00=BF=03 =00=A0=03 =00=C0=03 =00=A1=03 =00=C1=03 =00=A3=03 =00=C3=03 =00=
    //  	=C2=03 =00=A4=03 =00=C4=03 =00=A5=03 =00=C5=03 =00=A6=03 =00=C6=03 =00=A7=
    //  	=03 =00=C7=03 =00=A8=03 =00=C8=03 =00=A9=03 =00=C9=03

  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}