private static unsafe byte * CharEntity( byte * pDst, char ch ) {
string s = ((int)ch).ToString( "X",NumberFormatInfo.InvariantInfo );
pDst[0] = (byte)'&';
pDst[1] = (byte)'#';
pDst[2] = (byte)'x';
pDst += 3;
fixed ( char *pSrc = s ) {
char *pS = pSrc;
while ( ( *pDst++ = (byte)*pS++ ) != 0 );
}
pDst[-1] = (byte)';';
return pDst;
}