亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uu編碼.txt

?? UU編碼和解碼標準 內含UU編解碼的示例程序
?? TXT
字號:
Date: Wed, 09 Apr 1997 13:04:11 +0100
From: jim <j.cameron@physiology.ucl.ac.uk>
To: webmaster@wotsit.demon.co.uk

===== UUENCODE ======

uuencode is a utility designed to enable arbitrary binary files to be
transmitted using text-only media such as email. It does this by
encoding the files in such a way that the encoded file contains only
printable characters.

(IMPORTANT Note: this file is the result of an afternoon's hacking by
myself. I make no guarantees as to its completeness and accuracy. I have
coded my own uuencode and uudecode programs which haven't let me down
yet)

The uuencode algorithm hinges around a 3-byte-to-4-byte  (8-bit to 6-bit
data) encoding to convert all data to printable characters. To perform
this encoding read in 3 bytes from the file to be encoded whose binary
representation is

  a7a6a5a4a3a2a1a0 b7b6b5b4b3b2b1b0 c7c6c5c4c3c2c1c0

and convert them into 4 bytes with values in the range 0-63 as follows:

  0 0 a7a6a5a4a3a2 0 0 a1a0b7b6b5b4 0 0 b3b2b1b0c7c6 0 0 c5c4c3c2c1c0

Then convert these bytes to printable characters by adding 0x20 (32).
EXCEPTION: if you end up with a zero byte it should be converted to 0x60
(back-quote '`') rather than 0x20 (space ' ').

So if you read 3 bytes from the file as follows: 14 0F A8 (hex) i.e.

  00010100 00001111 10101000

your 4 bytes output should be 25 60 5E 48 ("%`^H"). The intermediate 4
bytes in this case were

  00000101 00000000 00111110 00101000

Note that the zero byte has been translated to 0x60 instead of 0x20. The
body of a uuencoded file therefore only contains the characters 0x21 '!'
to 0x60 '`', which are all printable and capable of being transmitted by
email.
(Note: this of course means that uuencoded files are slightly more than
33% longer than the originals. uuencoding text-only files is redundant
and a silly thing to do. Standard and sensible practice is to compress
the files first using a standard compression utility and then to
uuencode them).

In addition, the start of the encoding is marked by the line "start
<mode> <filename>", where
  <mode> consists of 3 octal digits which are the Unix mode of the file,
and
  <filename> is the original filename of the file encoded.

The end of the encoding is marked by the line "end".

The first character of each line contains the line length in bytes *in
the original file*, encoded in the same way as an ordinary byte i.e.
line length 0->0x60, all other lengths add 0x20 to convert to printable
characters. Line lengths vary from 0 to 45 (which encodes to 'M'; this
is why lines in a uuencoded file all start with an M), which is a line
length of 61 characters (including the length character) in the encoded
file. This is a nice safe length to transmit via email.

Lines in the encoded file are always a multiple of 4 + 1 characters
long; this sometimes means that 1 or 2 bytes are thrown away at the end
of the decoding.

(Note: I can't see any reason why lines shouldn't be an arbitrary
length, and don't know whether the proper definition disallows this.
I've never seen a uuencoded file where any line apart from the last one
wasn't 'M' followed by 60 characters, though)

To decode, simply perform the inverse of the encoding algorithm.

===== SAMPLE CODE =====

I include here the C source code to a small uuencode and uudecode
utility I coded myself. It isn't very sophisticated and probably not
very complete, but it does its job, and is very useful for my PC where I
don't have access to the standard Unix stuff. It took me about half an
hour to write, and another hour or so to iron out the obvious bugs. It
works quite happily under DOS (uuencoding needs practically no internal
storage). It isn't a great masterpiece of software design and coding,
but might be worth a look. Feel free to do whatever you want to it, up
to and including throwing it in the bin.

===== uuencode.c =====

/*
 * uuencode.c -
 *  Simple uuencode utility
 *  Jim Cameron, 1997
 */

#include "stdio.h"
#include "stdlib.h"

#define MAX_LINELEN 45

#define ENCODE_BYTE(b) (((b) == 0) ? 0x60 : ((b) + 0x20))

typedef unsigned char BYTE;

int main (int argc, char *argv [])
{

  FILE *infile	= NULL;
  FILE *outfile = NULL;
  int	linelen;
  int linecnt;
  BYTE inbuf [MAX_LINELEN];
  BYTE *inbytep;
  char outbuf [5];

  if (argc != 3)
  {
    fprintf (stderr, "Syntax: uuencode <infile> <outfile>\n");
    exit (1);
  }

  /* Try and open the input file (binary) */

  infile = fopen (argv [1], "rb");
  if (infile == NULL)
  {
    fprintf (stderr, "uuencode: Couldn't open input file %s\n", argv
[1]);
    exit (1);
  }

  /* Try and open the output file (text) */

  outfile = fopen (argv [2], "wt");
  if (outfile == NULL)
  {
    fprintf (stderr, "uuencode: Couldn't open output file %s\n", argv
[2]);
    exit (1);
  }

  /* Write the 'begin' line, giving it a mode of 0600 */

  fprintf (outfile, "begin 600 %s\n", argv [1]);

  do
  {

    /* Read a line from input file */

    linelen = fread (inbuf, 1, MAX_LINELEN, infile);

    /* Write the line length byte */

    fputc (ENCODE_BYTE (linelen), outfile);

    /* Encode the line */

    for (linecnt = linelen, inbytep = inbuf;
         linecnt > 0;
         linecnt -= 3, inbytep += 3)
    {

      /* Encode 3 bytes from the input buffer */

      outbuf [0] = ENCODE_BYTE ((inbytep [0] & 0xFC) >> 2);
      outbuf [1] = ENCODE_BYTE (((inbytep [0] & 0x03) << 4) +
                                ((inbytep [1] & 0xF0) >> 4));
      outbuf [2] = ENCODE_BYTE (((inbytep [1] & 0x0F) << 2) +
                                ((inbytep [2] & 0xC0) >> 6));
      outbuf [3] = ENCODE_BYTE (inbytep [2] & 0x3F);
      outbuf [4] = '\0';

      /* Write the 4 encoded bytes to the file */

      fprintf (outfile, "%s", outbuf);

    }

    fprintf (outfile, "\n");

  } while (linelen != 0);

  /* Write the 'end' marker */

  fprintf (outfile, "end\n");

  /* Tidy up and return */

  fclose (infile);
  fclose (outfile);

  return 0;

}

===== uudecode.c =====

/*
 * uudecode.c -
 *  Simple uudecode utility
 *  Jim Cameron, 1997
 */

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* We all hate magic numbers! */

#define LINE_BUF_SIZE 256

/* Decode a byte */

#define DECODE_BYTE(b) ((b == 0x60) ? 0 : b - 0x20)

typedef unsigned char BYTE;

int main (int argc, char *argv [])
{

  FILE *infile	= NULL;
  FILE *outfile = NULL;
  char linebuf [LINE_BUF_SIZE];
  char *linep	= NULL;
  char *tempcp	= NULL;                           
  int   linelen	= 0;
  int   linecnt	= 0;
  char outfname [LINE_BUF_SIZE];
  BYTE outbyte	[3];

  /* Check that we have the right number of arguments */

  if (argc != 2)
  {
    fprintf (stderr, "Syntax: uudecode <filename>\n");
    exit (1);
  }

  /* Open the input file */

  infile = fopen (argv [1], "rt");
  if (infile == NULL)
  {
    fprintf (stderr, "uudecode: Couldn't open file %s\n", argv [1]);
    exit (1);
  }

  /* uu-encoded files always have a 'begin' marker, so go and look for
this */

  for (;;)
  {

    /* Read a line */

    if (fgets (linebuf, LINE_BUF_SIZE, infile) == NULL)
    {
      fprintf (stderr, "uudecode: Not a valid uu-encoded file\n");
      exit (1);
    }

    /* See if it is the 'begin' marker */

    if ((strncmp (linebuf, "begin", 5) == 0) && isspace (linebuf [5]))
    {
      break;
    }

  }

  /* If we have reached this point, we have found a begin marker */

  linep = linebuf + 5;

  /* Next comes the mode, which we ignore */

  while (isspace (*linep))
  {
    linep++;
  }
  if (*linep == '\0')
  {
    fprintf (stderr, "uudecode: Not a valid uu-encoded file\n");
    exit (1);
  }

  while (isdigit (*linep))
  {
    linep++;
  }
  while (isspace (*linep))
  {
    linep++;
  }
  if (*linep == '\0')
  {
  	fprintf (stderr, "uudecode: Not a valid uu-encoded file/n");
    exit (1);
  }

  /* The rest of the begin line is the output file name */

  strcpy (outfname, linep);
  tempcp = outfname;
  while (!isspace (*tempcp) && (*tempcp != '\0'))
  {
    tempcp++;
  }
  *tempcp = '\0';

  /* Now open the output file */

  outfile = fopen (outfname, "wb");
  if (outfile == NULL)
  {
    fprintf (stderr, "uudecode: Couldn't open output file %s\n",
outfname);
    exit (1);
  }

  /* Now for the uu-decode proper */

  do
  {

    if (fgets (linebuf, LINE_BUF_SIZE, infile) == NULL)
    {
      fprintf (stderr, "uudecode: Read error\n");
      exit (1);
    }

    /* The first byte of the line represents the length of the DECODED
line */

    linelen = DECODE_BYTE (linebuf [0]);
    linep = linebuf + 1;
    for (linecnt = linelen; linecnt > 0; linecnt -= 3, linep += 4)
    {

      /* Check for premature end-of-line */

      if ((linep [0] == '\0') || (linep [1] == '\0') ||
          (linep [2] == '\0') || (linep [3] == '\0'))
      {
      	fprintf (stderr, "uudecode: Error in encoded block\n");
	exit (1);
      }

      /* Decode the 4-byte block */

      outbyte [0] = DECODE_BYTE (linep [0]);
      outbyte [1] = DECODE_BYTE (linep [1]);
      outbyte [0] <<= 2;
      outbyte [0] |= (outbyte [1] >> 4) & 0x03;
      outbyte [1] <<= 4;
      outbyte [2] = DECODE_BYTE (linep [2]);
      outbyte [1] |= (outbyte [2] >> 2) & 0x0F;
      outbyte [2] <<= 6;
      outbyte [2] |= DECODE_BYTE (linep [3]) & 0x3F;

      /* Write the decoded bytes to the output file */

      if (linecnt > 3)
      {
	if (fwrite (outbyte, 1, 3, outfile) != 3)
	{
	  fprintf (stderr, "uudecode: Error writing to output file\n");
      	  exit (1);
	}
      }
      else
      {
      	if (fwrite (outbyte, 1, linecnt, outfile) != linecnt)
        {
	  fprintf (stderr, "uudecode: Error writing to output file\n");
          exit (1);
        }
        linecnt = 3;
      }

    }

  } while (linelen != 0);

  /* All is ok, tidy up and exit */

  fclose (infile);
  fclose (outfile);

  return 0;

}

===== end =====
 
jim
--
j.cameron@physiology.ucl.ac.uk

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆免费视频| 国产真实乱偷精品视频免| 91精品国产综合久久婷婷香蕉| 成人国产亚洲欧美成人综合网| 五月综合激情网| 一区二区免费视频| 51久久夜色精品国产麻豆| 99精品国产99久久久久久白柏 | 色综合天天综合在线视频| 免费成人在线观看| 日韩电影免费在线| 日韩影院在线观看| 亚洲国产你懂的| 亚洲国产人成综合网站| 亚洲综合网站在线观看| 亚洲特黄一级片| 国产精品五月天| 国产精品久久久久久妇女6080| 久久久久久久久一| 日韩欧美成人一区二区| 日韩一区二区精品在线观看| 91精品在线观看入口| 日韩欧美国产一区二区在线播放| 欧美午夜宅男影院| 欧美喷水一区二区| 日韩精品一区二区三区蜜臀| 日韩午夜电影av| 911精品国产一区二区在线| 欧美日韩大陆在线| 日韩一区二区免费视频| 欧美变态tickle挠乳网站| 久久人人超碰精品| 樱桃国产成人精品视频| 久久不见久久见免费视频1| 成人白浆超碰人人人人| 欧美一区二区三区在线电影| 国产精品久久久久一区| 日韩主播视频在线| 色综合天天综合在线视频| 欧美成人一区二区三区在线观看| 国产精品久久久久影院亚瑟| 日韩av在线发布| 91浏览器入口在线观看| 久久综合色综合88| 亚洲成av人片一区二区三区| 国产ts人妖一区二区| 日韩一区二区影院| 亚洲乱码国产乱码精品精可以看| 久久99久久99| 3atv一区二区三区| 一区二区三区丝袜| 成人国产在线观看| 国产日韩欧美高清| 玖玖九九国产精品| 91麻豆精品久久久久蜜臀| 亚洲视频在线观看一区| 九九热在线视频观看这里只有精品| 欧美在线观看一二区| 中文字幕一区二区三区色视频| 精品一区二区三区免费视频| 欧美精品久久99久久在免费线 | 在线免费不卡电影| 国产欧美一区二区精品性色超碰| 五月天国产精品| 欧洲中文字幕精品| 亚洲欧洲综合另类| 91麻豆国产自产在线观看| 国产精品麻豆99久久久久久| 国产在线精品国自产拍免费| 欧美tickle裸体挠脚心vk| 美女脱光内衣内裤视频久久影院| 欧美高清性hdvideosex| 天天综合日日夜夜精品| 欧美另类高清zo欧美| 午夜电影网亚洲视频| 在线不卡免费av| 青草国产精品久久久久久| 欧美一区二区三区视频免费播放 | 91丨九色丨蝌蚪富婆spa| 国产情人综合久久777777| 奇米影视在线99精品| 欧美日韩一区中文字幕| 国产精品久久久久7777按摩| eeuss鲁片一区二区三区在线观看| 亚洲国产精品ⅴa在线观看| av成人动漫在线观看| 亚洲另类春色校园小说| 欧美日韩精品一区二区天天拍小说| 亚洲成人免费在线| 日韩免费观看高清完整版在线观看| 免费看黄色91| 欧美激情在线看| 色婷婷av一区| 日本一区中文字幕| 欧美精品一区二区三区高清aⅴ | 亚洲日本一区二区| 欧美亚洲图片小说| 免费成人在线影院| 久久精品亚洲精品国产欧美| 91亚洲资源网| 日本成人中文字幕在线视频| 精品国内二区三区| 色婷婷一区二区| 蜜臀精品一区二区三区在线观看| 日本一区二区综合亚洲| 91福利国产成人精品照片| 日本美女视频一区二区| 亚洲国产岛国毛片在线| 欧美日韩mp4| 国产在线精品免费| 亚洲午夜激情av| 国产日韩欧美制服另类| 欧美丝袜自拍制服另类| 久久97超碰国产精品超碰| 中文字幕在线观看不卡| 91麻豆精品国产自产在线| 成人一区在线观看| 日韩二区在线观看| 亚洲精品你懂的| 国产日韩欧美在线一区| 欧美肥妇bbw| 色老汉一区二区三区| 国产一本一道久久香蕉| 免费观看一级特黄欧美大片| 亚洲乱码国产乱码精品精98午夜 | **欧美大码日韩| 亚洲精品一区二区三区精华液| 99re热视频精品| 国产精品一区二区久久精品爱涩| 亚洲一线二线三线视频| 国产精品久久久久久久岛一牛影视| 日韩免费福利电影在线观看| 欧美日免费三级在线| 97久久精品人人澡人人爽| 国产白丝精品91爽爽久久| 免费成人深夜小野草| 亚洲午夜影视影院在线观看| 日韩伦理电影网| 国产精品国产三级国产aⅴ原创| 精品国产制服丝袜高跟| 欧美一级理论片| 欧美一二三区在线| 91精品中文字幕一区二区三区| 欧美日韩中文字幕一区二区| 97精品久久久久中文字幕| 9l国产精品久久久久麻豆| 岛国精品一区二区| 国产69精品久久99不卡| 国产 欧美在线| 不卡视频一二三| 99久久久免费精品国产一区二区| 成人小视频在线| 成人精品高清在线| 成人h精品动漫一区二区三区| 成人丝袜18视频在线观看| 国产91高潮流白浆在线麻豆| 国产酒店精品激情| 国产69精品久久777的优势| 成人国产精品免费观看| 99re热这里只有精品视频| 在线精品亚洲一区二区不卡| 欧美午夜电影在线播放| 欧美日韩不卡在线| 精品日韩在线观看| 国产婷婷色一区二区三区四区| 国产精品美女久久久久久2018| 日韩伦理电影网| 亚洲国产精品久久久久婷婷884 | 久久九九99视频| 国产精品视频线看| 亚洲黄色片在线观看| 午夜视频在线观看一区二区三区| 秋霞电影网一区二区| 国产高清久久久久| 一本大道久久a久久精二百 | 精品一区二区三区免费视频| 国产乱淫av一区二区三区| 成人深夜视频在线观看| 色呦呦一区二区三区| 欧美一区二区在线播放| 久久精品人人做| 亚洲精品成人在线| 狠狠色狠狠色综合日日91app| 丁香激情综合国产| 欧美区视频在线观看| 国产午夜精品一区二区三区四区| 亚洲图片激情小说| 蜜臀av性久久久久蜜臀aⅴ四虎| 成人免费观看男女羞羞视频| 欧美日韩五月天| 久久精品人人做| 日韩高清在线电影| av亚洲精华国产精华精华| 日韩一区二区三区三四区视频在线观看| 欧美激情一区三区| 免费成人结看片| 欧美日韩在线播放| ●精品国产综合乱码久久久久| 久色婷婷小香蕉久久| 在线欧美小视频|