ExifTool Forum

ExifTool => The "exiftool" Application => Topic started by: blue-j on January 19, 2023, 10:34:02 PM

Title: What does the "+" mean?
Post by: blue-j on January 19, 2023, 10:34:02 PM
string[0,32]+
- J
Title: Re: What does the "+" mean?
Post by: StarGeek on January 19, 2023, 10:50:24 PM
If you're on the desktop and mouse over the +, you'll see
(https://i.imgur.com/tQwr695.png)

See the Tag names page (https://exiftool.org/TagNames/) for details.
QuoteA plus sign (+) after an entry in the Writable column indicates a List tag
Title: Re: What does the "+" mean?
Post by: blue-j on January 20, 2023, 12:26:41 PM
Got it!  So, this means that the max-length is only per datum, not for the list itself?

Thank you for your teachings!

- J
Title: Re: What does the "+" mean?
Post by: StarGeek on January 20, 2023, 01:16:49 PM
Quote from: blue-j on January 20, 2023, 12:26:41 PMGot it!  So, this means that the max-length is only per datum, not for the list itself?

Yes, I believe so.  It's what I've noticed when using IPTC:Keywords, which is listed as string[0,64]+, in files with multiple 64 byte long keywords.
Title: Re: What does the "+" mean?
Post by: blue-j on January 20, 2023, 01:56:23 PM
Regarding the IPTC-IIM limit, it is given in octets, not characters.  How to handle that?  Just in case they contain multi-byte characters, do you set a character limit to something like 60?  My guess is that for most people, treating it as if were characters works fine, but if you are supporting multiple languages I could see how it would not work always.

Reference from v4.2:

Quote2:25 Keywords Repeatable, maximum 64 octets, consisting of graphic characters
plus spaces.
Used to indicate specific information retrieval words.
Each keyword uses a single Keywords DataSet. Multiple keywords
use multiple Keywords DataSets.
It is expected that a provider of various types of data that are related
in subject matter uses the same keyword, enabling the receiving
system or subsystems to search across all types of data
for related material.
Examples:
"GRAND PRIX"
"AUTO"

- J
Title: Re: What does the "+" mean?
Post by: blue-j on January 20, 2023, 02:06:34 PM
For any others in the community facing this, I did find a nice SQL function you could use to track the octets in a field:  OCTET_LENGTH() (https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_octet-length)

But of course that is ex post facto...

- J
Title: Re: What does the "+" mean?
Post by: blue-j on January 20, 2023, 02:10:42 PM
Found a JavaScript solution!

https://stackoverflow.com/questions/5515869/string-length-in-bytes-in-javascript (https://stackoverflow.com/questions/5515869/string-length-in-bytes-in-javascript)

: )

- J
Title: Re: What does the "+" mean?
Post by: StarGeek on January 20, 2023, 03:01:26 PM
IMO, it's not worth worrying about the limit.  Just add -m (-ignoreMinorErrors) option (https://exiftool.org/exiftool_pod.html#m--ignoreMinorErrors) to override.

I have yet to see a program which enforces the limit other than exiftool.
Title: Re: What does the "+" mean?
Post by: Phil Harvey on January 30, 2023, 10:12:07 AM
Quote from: blue-j on January 20, 2023, 01:56:23 PMRegarding the IPTC-IIM limit, it is given in octets, not characters.

Good point.  Just FYI, ExifTool will truncate in the middle of a UTF8 character (without the -m option) if it spans the length limit.  Resulting invalid characters are converted to a period (.).

- Phil
Title: Re: What does the "+" mean?
Post by: blue-j on February 07, 2023, 01:42:13 PM
I think we will adhere to the spec whenever possible.  We're trying a strict approach to see what it might yield.  For example, we are using the tag names suggested by the EXIF spec, which no one does, and I find it very cool actually!  - J