数字(short、long等)是以字(双字)为单位进行解释的,对于一个字(双字)中几个字节的具体含义(就是大头、小头等)会有不同的解释,所以才需要进行规范,变换为标准的格式。字符串是按字节流来解释的,也就是一个字节一个字节地解释,所以并不存在转换的问题。你提到的数字应该是ASC码的数字,如"1234"而不是一个short、long吧?这种情况的数字其实就是一个字符串,不必转换。
操作系统对汉字的识别有多种方法,主要看汉字的编码方式。有些编码方式在汉字前有特殊的开始标志(如"~{"),看到这个标志就知道后面的是汉字了。有些编码方法则是用了大于128的字符作为编码,看到大于128的字符就与后面的字符一起作为一个汉字(所以如果中间缺了一个字符的话,字符的组合就乱了,就会出现乱码)。实际情况中可能还要更复杂,比如简、繁混排的话,由于两者的码集不完全一样,就要取一段文字,看看是按那种方式能解释得通了。具体的一些方法可以到网上找找,应该有的。
操作系统对汉字的识别有多种方法,主要看汉字的编码方式。有些编码方式在汉字前有特殊的开始标志(如"~{"),看到这个标志就知道后面的是汉字了。有些编码方法则是用了大于128的字符作为编码,看到大于128的字符就与后面的字符一起作为一个汉字(所以如果中间缺了一个字符的话,字符的组合就乱了,就会出现乱码)。实际情况中可能还要更复杂,比如简、繁混排的话,由于两者的码集不完全一样,就要取一段文字,看看是按那种方式能解释得通了。具体的一些方法可以到网上找找,应该有的。