title: How to read Id3v2 tag
body: <pre><code>static void Main(string[] args)
  {
      FileStream fs = File.Open(@&quot;C:\Skrillex - Rock n' Roll (Will Take You to the Mountain).mp3&quot;, FileMode.Open);
      BinaryReader br = new BinaryReader(fs);
  
      byte[] tag = new byte[3];
      byte[] version = new byte[2];
      byte[] flags = new byte[1];
      byte[] size = new byte[4];
      byte[] frameId = new byte[4];
      byte[] frameSize = new byte[4];
      byte[] frameFlags = new byte[2];
          
      br.Read(tag, 0, tag.Length);
      br.Read(version, 0, version.Length);
      br.Read(flags, 0, flags.Length);
      br.Read(size, 0, size.Length);
      br.Read(frameId, 0, frameId.Length);
      br.Read(frameSize, 0, frameSize.Length);
      br.Read(frameFlags, 0, frameFlags.Length);
  
      ulong iSize = (ulong)frameSize[0] &lt;&lt; 21 | (ulong)frameSize[1] &lt;&lt; 14 | (ulong)frameSize[2] &lt;&lt; 7 | (ulong)frameSize[3];
      Console.WriteLine(&quot;Frame Data Size : &quot; + iSize.ToString());
  
      byte[] body = new byte[iSize];
      br.Read(body, 0, body.Length);
      Console.WriteLine(BitConverter.ToString(body));
      Console.WriteLine(ConvertHexToString(BitConverter.ToString(body)));
  
      br.Close();
  }
  
  public string ConvertHexToString(string HexValue)
  {
      string StrValue = &quot;&quot;;
      HexValue = HexValue.Replace(&quot;-&quot;, &quot;&quot;);
      while (HexValue.Length &gt; 0)
      {
          StrValue += Convert.ToChar(Convert.ToUInt32(HexValue.Substring(0, 2), 16)).ToString();
          HexValue = HexValue.Substring(2, HexValue.Length - 2);
      }
      return StrValue;
  }
  </code></pre>
  <p>I am writing the code for reading ID3v2.3 tags without external library or Shell32.</p>
  <p>The above code is that code, but it seems not to work properly.</p>
  <p>The following is the result when I run the code:</p>
  <blockquote>
  <p>Frame Data Size : 91</p>
  <p>01-FF-FE-52-00-6F-00-63-00-6B-00-20-00-6E-00-27-00-20-00-52-00-6F-00-6C-00-6C-00-20-00-28-&gt; 00-57-00-69-00-6C-00-6C-00-20-00-54-00-61-00-6B-00-65-00-20-00-59-00-6F-00-75-00-20-00-74-&gt; 00-6F-00-20-00-74-00-68-00-65-00-20-00-4D-00-6F-00-75-00-6E-00-74-00-61-00-69-00-6E-00-29-00</p>
  <p>ÿþR</p>
  </blockquote>
  <p>It is not returning the song title &quot;Rock n' Roll (Will Take You to the Mountain)&quot; that was recorded in the tag.</p>
  <p>What is problem?</p>