怎样让字符串按ASCII码排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样让字符串按ASCII码排序相关的知识,希望对你有一定的参考价值。
在你需要的地方调用如下过程,如:string newString = mysort(参数)private string mysort(string str)
if(str.Length !=7)
MessageBox.Show("字符串长度不等于 7 !","错误");
return "";
string mystr = str.Substring(1, 5); //去首尾字符
char[] myCharArray = mystr.ToCharArray(); //转为字符数组
Array.Sort(myCharArray); //升序排序
Array.Reverse(myCharArray); //反转
string new_str = new String(myCharArray); //转为字符串
//加首尾字符
string ret_str = str.Substring(0, 1) + new_str + str.Substring(6, 1);
return ret_str; //返回
本回答由提 参考技术A ASCII码采用7位二进制比特编码,可以表示128个字符。最小的ASCII码是0000000(二进制),最大的是1111111(二进制)。
待签名参数按照字段名的ascii码从小到大排序 怎么理解
例如input_charset=GBK&partner=1900000109&total_fee=1
private String getSign(Map<String, String> params)Map<String, String> sortMap = new TreeMap<String, String>();
sortMap.putAll(params);
// 以k1=v1&k2=v2...方式拼接参数
StringBuilder builder = new StringBuilder();
for (Map.Entry<String, String> s : sortMap.entrySet())
String k = s.getKey();
String v = s.getValue();
if (StringUtils.isBlank(v)) // 过滤空值
continue;
builder.append(k).append("=").append(v).append("&");
if (!sortMap.isEmpty())
builder.deleteCharAt(builder.length() - 1);
return Md5Util.md5Encode(builder.toString()).toUpperCase();
将所有参数放入treeMap中(默认升序),然后循环拼接后md5加密后即可。
如果按照你的理解,你的排序刚刚相反,应该是input_charset《partner《total_fee
追答没有错啊,字母a-z在ASCII中排序是从小到大。
给你一份ASCII码表,按照字母所对应的数字排序。
http://moodle.hsshn.pudong-edu.sh.cn/file.php/99/resource/ASCII.htm
我是aspx网站的初学者,能不能就此问题,给我写一个简单的程序 谢谢了 还有一点要说明的是,里面的字段名称是不固定的,可能不止这几个,需要程序灵活的判定然后排序
追答我ASP不熟,C也是略知一二。建议你去ASP区问下。在其它语言里
参考技术B input_charset=GBKpartner=1900000109
total_fee=1
看input_charset partner total_fee 字符串 排列他们的顺序
input_charset>partner>total_fee
所以这个就已经是排好了追问
怎么比较出来的,用.net程序如何做?
而且,这个不应该是首字母的排序,这个问题是由财付通接口中提取出来的,一下是他们的原说法:
无论是用get、post还是xml,签名原始串组串方式都一致,除sign字段外,待签名参数按照字段名的ascii码从小到大排序后使用QueryString的格式(即key1=value1&key2=value2…)拼接而成,空值不传递,不参与签名。
写错了抱歉
input_charset<partner<total_fee
c语言 strcmp("input_charset") < input_charset("partner")
例如total_fee=1&partner=1900000109&input_charset=GBK
我是aspx网站的初学者,能不能就此问题,给我写一个简单的程序 谢谢了 还有一点要说明的是,里面的字段名称是不固定的,可能不止这几个,需要程序灵活的判定然后排序
参考技术C input_charset=GBKpartner=1900000109
total_fee=1
inpt_charset>partner>total_fee
input_charset<partner<total_fee 参考技术D aaa
以上是关于怎样让字符串按ASCII码排序的主要内容,如果未能解决你的问题,请参考以下文章