Кодировка Exif в проводнике Windows - PullRequest
0 голосов
/ 24 января 2012

Применение любых изменений данных XIF в нашем коде приводит к проблемам с кодировкой в ​​Windows Explorer.Здесь свойство FileExplorerTitle модифицируется, и результирующий набор символов изменяется на некоторую двухбайтовую кодировку.

http://www.youtube.com/watch?v=GVzMpvo-XPg&feature=plcp&context=C3c03effUDOEgsToPDskKa3ZJh-GhqCGE6M_pXkrQw

Ответы [ 2 ]

0 голосов
/ 01 февраля 2012

Поле WindowsTitle EXIF ​​кодируется в Юникоде. Попробуйте:

byte[] data = Encoding.Unicode.GetBytes(Value);
0 голосов
/ 26 января 2012

Чтение файла и применение атрибутов: Dim oXIFmedia As New ImageExifData (sFileName) oXIFmedia.FileExplorerTitle = Заголовок

Код внутри ImageExifData.cs:

public enum ExifDataTypes : short
{
        UnsignedByte = 1,
        AsciiString = 2
}

public string FileExplorerTitle
{
        set
        {
            try
            {
                this.SetPropertyString(40091, value);
            }
            catch
            {
            }
        }
}



public void SetPropertyString(Int32 PID, string Value)
{
        byte[] Data = this._Encoding.GetBytes(Value + "\0");
        SetProperty(PID, Data, ExifDataTypes.AsciiString);
}
...