Is working with the Unicode Private-Use Area a problem?
As noted above, all Private-Use code points are mapped to GB 18030 codes. This means that they can be exchanged via GB 18030. In addition to the usual agreement about Private-Use characters between processes exchanging them, one must take the GB 18030 assignments into account when exchanging text in GB 18030. GB 18030 assigns characters to some of the codes corresponding to Private-Use BMP code points. All other such codes are either User-Defined in GB 18030 or not specified other than through the mapping correspondence.