title: Why short* instead of char* for string? Difference between char* and unsigned char*?
body: <p>As the title says, I'm having two questions.</p>
  
  <p><em>Edit</em>: To clarify, they don't actually use <code>char</code> and <code>short</code>, they ensure them to be 8-bit and 16-bit by specific typedefs. The actual type is then called <code>UInt8</code> and <code>UInt16</code>.</p>
  
  <p><strong>1. Question</strong></p>
  
  <p>The iTunes SDK uses <code>unsigned short*</code> where a <em>string</em> is needed. What are the advantages of using it instead of <code>char*</code>/<code>unsigned char*</code>? How to convert it to <code>char*</code>, and what differs when working with this type instead?</p>
  
  <p><strong>2. Question</strong></p>
  
  <p>I've only seen <code>char*</code> when a string must be stored, yet. When should I use <code>unsigned char*</code> then, or doesn't it make any difference?</p>