Adobe XMP SDK & UTF-8 strings

67 views Asked by At

I am using the latest Adobe XMP SDK code from GitHub in a C++ app to read/dump the XMP data in a JPG which contains tags with UTF-8 strings - Compiled with MSVC 2019 for 64-bits static linking.

It looks like the GitHub issues page is not active.

My code:

SXMPMeta xmpObj;
try {
    xmpObj.ParseFromBuffer ( xmlString.c_str(), (XMP_StringLen)length );
} catch ( ... ) {

This code calls a callback function for output and the strings passed to the callback fail when the string contains UTF-8 code.

The string ought to be:

<photoshop:State>Baden-Württemberg</photoshop:State>

while the output from the callback is:

photoshop:State = "Baden-WürttembergC3BC>rttemberg"
                                    ===============

Where the UTF-8 string seems to confuse the code to not recognize the string end properly.

There seems to be some options which might control the handling of UTF-8 strings, but I have not been able to find any description or usage information regarding these.

1

There are 1 answers

1
user999713 On

Understood, however to extract a reproducible example code would likely be as time-consuming as tracing into the SDK code and analyzing the code and fixing it. My main reason for asking here was to see if anyone else had run into a similar issue, particularly since the GitHub project seem abandoned - there have been several issues posted, but no answers or comments for more than a year. Apparently no one is using that SDK any longer.

To cut to the chase, I have other issues with the SDK - such as not being able to link only the 32-bit debug version, while the 32-bit release will link and for the 64-bit version both debug & release compile and link cleanly. Fortunately for me, I came across a way to get the output I need from Exiftool. Hence this question can be closed.