现在的位置: 首页 > 综合 > 正文

搞定了初级的多行输出文本的功能

2013年01月19日 ⁄ 综合 ⁄ 共 2584字 ⁄ 字号 评论关闭

现在搞辅助计算功能,如果输入、输出都是给计算机看的十六进制数据,那比较简单,如果输出有供人看的字符串,那就比较费事了。

 

涉及一些逻辑上比较混乱的功能,比如 to_ansi_string函数,用于给将ansi格式的内存数据输出成字符串,to_ansi_string( 31323334 )显示成  1234,这"1234"如果在一个嵌套函数中,就变成了十六进制数了,所以现在定义 to系列的函数不能嵌套,只能放在最外层,而且遇到to系列的函数计算终止。

 

 

 

 

 

//

 

to_ansi_string ( 303132333435363738393a3b3c3d3e3f ) 
//--
to_ansi_string convert ansi format input data to ansi string
//--
  input = 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 
//--
  output = 0123456789:;<=>?
//

//
to_ansi_string ( 55667788 ) 
//--
to_ansi_string convert ansi format input data to ansi string
//--
  input = 55 66 77 88 
//--
  output = Ufw
//

//
to_ansi_string ( ansi_string ( "小奇" ) ) 
//----
ansi_string convert utf16-little-endian format input data to ansi format
//----
  input = 0F 5C 47 59 
//----
  output = D0 A1 C6 E6 
//

//--
to_ansi_string convert ansi format input data to ansi string
//--
  input = D0 A1 C6 E6 
//--
  output = 小奇
//

//
to_ansi_string ( utf8_string ( "刘备一抬手,嘟嘟嘟嘟嘟嘟,能打子弹" ) ) 
//----
utf8_string convert utf16-little-endian format input data to utf8 format
//----
  input = 18 52 07 59 00 4E AC 62 4B 62 0C FF 1F 56 1F 56 1F 56 1F 56 1F 56 1F 56 0C FF FD 80 53 62 50 5B 39 5F 
//----
  output = E5 88 98 E5 A4 87 E4 B8 80 E6 8A AC E6 89 8B EF BC 8C E5 98 9F E5 98 9F E5 98 9F E5 98 9F E5 98 9F E5 98 9F EF BC 8C E8 83 BD E6 89 93 E5 AD 90 E5 BC B9 
//

//--
to_ansi_string convert ansi format input data to ansi string
//--
  input = E5 88 98 E5 A4 87 E4 B8 80 E6 8A AC E6 89 8B EF BC 8C E5 98 9F E5 98 9F E5 98 9F E5 98 9F E5 98 9F E5 98 9F EF BC 8C E8 83 BD E6 89 93 E5 AD 90 E5 BC B9 
//--
  output = 鍒樺涓€鎶墜锛屽槦鍢熷槦鍢熷槦鍢燂紝鑳芥墦瀛愬脊
//

//
to_ansi_string ( ansi_string ( "刘备一抬手,嘟嘟嘟嘟嘟嘟,能打子弹" ) ) 
//----
ansi_string convert utf16-little-endian format input data to ansi format
//----
  input = 18 52 07 59 00 4E AC 62 4B 62 0C FF 1F 56 1F 56 1F 56 1F 56 1F 56 1F 56 0C FF FD 80 53 62 50 5B 39 5F 
//----
  output = C1 F5 B1 B8 D2 BB CC A7 CA D6 A3 AC E0 BD E0 BD E0 BD E0 BD E0 BD E0 BD A3 AC C4 DC B4 F2 D7 D3 B5 AF 
//

//--
to_ansi_string convert ansi format input data to ansi string
//--
  input = C1 F5 B1 B8 D2 BB CC A7 CA D6 A3 AC E0 BD E0 BD E0 BD E0 BD E0 BD E0 BD A3 AC C4 DC B4 F2 D7 D3 B5 AF 
//--
  output = 刘备一抬手,嘟嘟嘟嘟嘟嘟,能打子弹
//

//
to_ansi_string ( to_ansi_string ( ansi_string ( "1234" ) ) ) 
//------
ansi_string convert utf16-little-endian format input data to ansi format
//------
  input = 31 00 32 00 33 00 34 00 
//------
  output = 31 32 33 34 
//

//----
to_ansi_string convert ansi format input data to ansi string
//----
  input = 31 32 33 34 
//----
  output = 1234
/

 

 

最后一个函数,to_ansi_string ( to_ansi_string ( ansi_string ( "1234" ) ) ),其实只有内层的to_ansi_string被执行了。

抱歉!评论已关闭.