protected static char readCSharpChar(BinBuffer binb) {
		char result = (char)binb.readByte();
		if ((result & 0x80) != 0) {
			int bytes = 1;
			while ((result & (0x80 >> bytes)) != 0) bytes++;
			result &= (1 << (8-bytes))-1;
			while (--bytes > 0) {
				result <<= 6;
				result |= binb.readByte() & 0x3F;
			}
		}
		return result;
	}