I understood it already...
As I said before, you can follow the terms, but you're misunderstanding the fundamentals.
Your explanations and suggestions continue to follow a human-like train of thought, rather than a programmatic one.
There is a language disconnect occurring.
...because it shows that if a user wants a null separator, they enters a null separator (\\).
Case in point.
\\ is not a null character.
But you didn't explain why Mp3tag do saves saves tags as they were typed by the user while MB replaces actual character with null without a permission.
In lieu of repeating myself...
A computer does not know what an "A" is. A computer does know what ";" is. A computer does not know what "null" is.
Here's a Mp3tag's window with just tagged file. Note "Country; Rockabilly" in GENRE tag. This is exactly what I typed on keyboard. All values saved s a simple string and a semicolon is just a semicolon.
Repeating.
A computer reads ";" in this Simple Machines Forum comment as 59. But, in a multi-value field in MusicBee, the ";" is not read as 59. Instead, it is read as 0.
Below is human-like thinking. Computers do not process input like humans process input.
Here I open it in MusicBee, make sure the tags are exactly the same, and just save it without any edit
Let's see what happened
This is what is actually happening.
The input "Rockabilly; Rock & Roll" into a multi-value field in MusicBee is not read by a computer as "R" "o" "c" ... "
;" " " "R" "o" ... "l" "l"
It is...
\u0052\u006f\u0063\u006b\u0061\u0062\u0069\u006c\u006c\u0079
\u0000\u0020\u0052\u006f\u0063\u006b \u0026 \u0052\u006f\u006c\u006c
The null character is \u0000.
The semi-colon character is \u003b.
You're not inputting a semi-colon. You're inputting a null byte.
There is a more disturbing thing. Where is my semicolon? Maybe it will return in Mp3tag?
No, it didn't. \\ null placeholder instead
There is no semi-colon. You did not input a semi-colon in MusicBee. You input a null byte.When you load the file into MP3TAG, it does not understand "Rockabilly; Rock & Roll." That is not what it reads.
MP3TAG, instead, correctly reads...
\u0052\u006f\u0063\u006b\u0061\u0062\u0069\u006c\u006c\u0079
\u0000\u0020\u0052\u006f\u0063\u006b \u0026 \u0052\u006f\u006c\u006c
...and displays the split values accordingly.
Not \u003b, but \u0000.
What about media info? And maybe tags in another player?
I am unfamiliar with either of these programs, but the inability for either to correctly interpret \u0000 is a problem on their end - not MusicBee's. foobar2000 (which is considered by many to be the post-Winamp standard in influencing the direction of desktop digital audio), MP3TAG (which is considered by many to be the standard by which other digital audio tagging software are compared to) and MusicBrainz's Picard tagging program all correctly interpret the \u0000 character input by MusicBee.
Maybe it could be fixed?
Yes it could. Just manually replace \\ null placeholder by beloved semicolon and voila it is a simple string again that could be processed by ANY media software, not just MusicBee, Foobar2000 and some.
What you're asking for multiple value capability to be removed from MusicBee, so that tags can are processed as one single character sequence.
This is not a "fix," firstly, because there is no problem that needs "fix"ing and secondly, because plenty of users, including myself, rely heavily upon the multiple value capability of the software for processing Virtual Tags and the experience would greatly diminish if your suggestion to remove it were implemented.
In other hand, when adding new files to library MB correctly recognizes every semicolon in tags and treats it as a separator without modifying tag. It would be great if all the nulls remained virtual and stored just in MB database, not affecting real files on saving.
This is more human-like thinking, rather than programmatic-thinking.
In my case, the clock cycles needed for MusicBee (via the CPU) to process such an implementation would heavily increase.
I also do a lot of editing in both MP3TAG and MusicBee and your suggestion would be a nightmare scenario for working between the two programs.
Finally, the null separator is a standard for the ID3v2.4 specification and has been adopted by many digital audio software programs for other tag specs. Altering it would degrade compatibility between MusicBee and other programs. If one individual is so married to having their genre tags display as a single character sequence, rather than split into multiple values, it should be that individual who compromises by using another character, rather than asking for others to sacrifice a useful capability.