title: Which takes the biggest hit: AnsiString to String or String to AnsiString?
body: <p>For my purposes, I'm actually truly using ASCII character data (for submitting ASCII text files to the state), so just using unicodestring won't help the end result (I'd still have to convert something).</p>
  
  <p>I've got the option to convert a StrComp function in Delphi 2009 that went from comparing a AnsiString and an PAnsiChar to a UnicodeString and an PAnsiChar.</p>
  
  <pre><code>Val : PAnsiChar
  Mask : TEditMask;
  </code></pre>
  
  <p>.... </p>
  
  <p>this is my original code, it's not good</p>
  
  <pre><code>StrComp(PAnsiChar(Mask.EditText), Val);
  </code></pre>
  
  <p>.... </p>
  
  <p>so, I can change it to this:</p>
  
  <pre><code>StrComp(PAnsiChar(AnsiString(MAskEdit.EditText), Val);
  </code></pre>
  
  <p>or, I can change it to this (extra conversions for 'clarity'):</p>
  
  <pre><code>StrComp(PChar(MAskEdit.EditText), PChar(String(AnsiString(Val))));
  </code></pre>
  
  <p>I remember Marco Cantu saying, don't do one of these in a loop, I just don't remember which one or why. </p>