页面载入中...

Google 在 Twitter 上的二进制问候是什么

Google on Twitter 第一眼看到 Google 在 Twitter 上用二进制向人们打招呼的时候,就感觉应该说的是一句话,只是没时间去搞清楚是什么。正好最近实在无聊地厉害,为了避免生命进一步浪费在如此阳光明媚狗熊撒欢的季节,就写了几行代码看看 Google 到底说了什么。

#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <memory.h>

char strchar2char(char buf[]);
void parse(const char* src, char* dst);

int main(int argc, char* argv[])
{
  const char* src = "01100110 01100101 01100101 01101100 01101001 01101110 01100111 00100000 01101100 01110101 01100011 01101011 01111001 00001010";
  size_t len_dst = (strlen(src) + 1) / 9;

  char* dst = (char*)malloc(len_dst + 1);
  memset(dst, 0, len_dst + 1);

  parse(src, dst);

  printf("src: %s\ndst: %s\n", src, dst);

  free(dst);

  return 0;
}

char strchar2char(char buf[])
{
  unsigned char mask = 0x80, ret = 0, i;

  for (i = 0; i <8; i++)
  {
    if ('1' == buf[i])
      ret |= mask;

    mask>>= 1;
  }

  return ret;
}

void parse(const char* src, char* dst)
{
  char buf[8];
  int i;

  while (*src)
  {
    if (' ' == *src)
      src++;

    for (i = 0; i <8; i++)
      buf[i] = src[i];

    *dst = strchar2char(buf);

    src += 8;
    dst++;
  }
}

答案揭晓:feeling lucky

9条留言. 发言 or Trackback

留言 ↓

欢迎回来, (修改)

  • :em19:
  • :em01:
  • :em25:
  • :em09:
  • :em11:
  • :em00:
  • :em13:
  • :em08:
  • :em10:
  • :em03:
  • :em02:
  • :em05:
  • :em07:
  • :em16:
  • :em27:
  • :em14:
  • :em21:
  • :em20:
  • :em24:
  • :em18:
  • :em17:
  • :em06:
  • :em23:
  • :em12:
  • :em22:
  • :em15:
  • :em26:
  • :em04:

正在提交数据...