有这么一串字符数组,因该是16进制的,要求是将他们按32位分段,然后在“异或”,然后在“取反”726e 616c 2020 4143 4b4c 474e 3030 3030
我这里能够做的就是将比如"abcd"转换成十六进制的字符串和上面的一样,但是后面的操作不知道如何实现。希望大牛帮助,

解决方案 »

  1.   

    也就是说比如有字符串“abcdefjh”如何用C#实现。按32位分段,然后在“异或”,然后在“取反”
      

  2.   

    CSDN没人会吗?我的天,我应该不是这个问题第一个吃螃蟹的人吧
      

  3.   

    还要什么需求哦!华为的接口文档里还没有我说的明白再就是一大段的C语言代码。但是意思就是这个。比如有字符串“abcdefjh”如何用C#实现。按32位分段,然后在“异或”,然后在“取反”。。
      

  4.   

    下面的例子是把一个字符以十六进制的形式输出using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                char a = 'w';
                Console.WriteLine(((int)a).ToString("X04"));
                Console.ReadLine();
            }
        }
    }
      

  5.   


    有这么一串字符数组,因该是16进制的,要求是将他们按32位分段,然后在“异或”,然后在“取反”
    726e 616c 2020 4143 4b4c 474e 3030 3030
    我先按我的理解来解一下你这个题目.首先需求1, 是按32位分段.  这个意思我猜应该是 [00000000][00000000][00000000][00000000] 
    那么, 这就是4个字节的int了.
    对于一个int, 你要做 位运算难道还难吗?需求2, “异或”,然后再“取反”.这个就是我上面说的[位运算] 其实位运算不难. 计算机的基础知识,网上对于异或,取反也是一堆的资料,你找找吧.不用我说什么.需求3, 你的这串字符:
    726e 616c 2020 4143 4b4c 474e 3030 3030
    相信你自己也明白, 这就是些16进制的东西.你也会自己转.
    我说一下要注意什么:
    72 = 1个字节
    726e = 2个字节
    726e 616c = 4个字节你这一组字符串有16个字节. 合计4个int
    首先你要解析这4个int 然后再对每一个int 异或,取反 OK 完毕.
      

  6.   

    怕你不明白,抄起windows自带计算器给你算1个int出来吧
    726e   616c
    =
    [72][6e][61][6c]
    =
    [114][110][97][108]