code: private void readDescription(TagValue tv) throws NumberFormatException, IOException {
      int index = 128;
      int tagCount = tv.getBytesBigEndian(index, 4);
      index += 4;
      for (int i = 0; i < tagCount; i++) {
        int signature = tv.getBytesBigEndian(index, 4);
        int tagOffset = tv.getBytesBigEndian(index + 4, 4);
        if (Integer.toHexString(signature).equals("64657363")) {
          String typedesc = Integer.toHexString(tv.getBytesBigEndian(tagOffset, 4));
          if (typedesc.equals("64657363")) {
            int size = tv.getBytesBigEndian(tagOffset + 8, 4) - 1;
            String s = "";
            int j = 0;
            int begin = tagOffset + 12;
            while (begin + j < begin + size) {
              int unicode_char = tv.getBytesBigEndian(begin + j, 1);
              s += Character.toString((char) unicode_char);
              j++;
            }
            description = s;
          } else {
            description = "";
          }
        }
        index += 12;
      }
    }
docs: Read description.
  
  @param tv the tag value
  @throws IOException exception
  @throws NumberFormatException exception