在开放的现代社会,跨文化的言语交际显得愈发重要,已经成为现代交际中引人注目的一个特点。交际中的文化差异随处可见,言语环境中的文化因素受到普遍重视。下面是英汉文化中十大常见差异。

1.回答提问

中国人对别人的问话,总是以肯定或否定对方的话来确定用“对”或者“不对”。如:

“我想你不到20岁,对吗?”

“是的,我不到20岁。”

(“不,我已经30岁了。”)

英语中,对别人的问话,总是依据事实结果的肯定或否定用“Yes”或者“No”。如:

“You‘‘re not a student,are you?”

“Yes,I am.”

(“No,I am not.”)

2.亲属称谓

英语的亲属以家庭为中心,一代人为一个称谓板块,只区别男性、女性,却忽视配偶双方因性别不同而出现的称谓差异。显得男女平等。如:

英文“grandparents,grandfather,grandmother”,而中文“祖辈、爷爷、奶奶、外公、外婆”。

再如,父母同辈中的称谓:英文“uncle”和“aunt”,而中文“伯伯、叔叔、舅舅等,姑妈、姨妈等”。

还有,英文中的表示下辈的“nephew和 niece”是不分侄甥的,表示同辈的“cousin”不分堂表、性别。

3.考虑问题的主体

中国人喜欢以对方为中心,考虑对方的情感。比如:

你想买什么?

您想借什么书?

而英语中,往往从自身的角度出发。如:

Can I help you?

What can I do for you?

4.问候用语

中国人打招唿,一般都以对方处境或动向为思维出发点。如:

您去哪里?

您是上班还是下班?

而西方人往往认为这些纯属个人私事,不能随便问。所以他们见面打招唿总是说:

Hi/Hello!

Good morning/afternoon/evening/night!

How are you?

It‘‘s a lovely day,isn‘‘t it?

5.面对恭维

中国人的传统美德是谦虚谨慎,对别人的恭维和夸奖应是推辞。如:

“您的英语讲得真好。”

“哪里,哪里,一点也不行。”

“菜做得很好吃。”

“过奖,过奖,做得不好,请原谅。”

西方人从来不过分谦虚,对恭维一般表示谢意,表现出一种自强自信的信念。如:

“You can speak very good French.”

“Thank you.”

“It‘‘s a wonderful dish!”

“I am glad you like it.”

所以,学生要注意当说英语的人称赞你时,千万不要回答:“No,I don‘‘t think so.”这种回答在西方人看来是不礼貌的,甚至是虚伪的。

6.电话用语

中国人打电话时的用语与平时讲话用语没有多少差异。

“喂,您好。麻烦您叫一声王伟接电话。”“我是张英,请问您是谁?”

英语中打电话与平时用语差别很大。如:“Hello,this is John speaking.”

“Could I speak to Tom please?”

“Is that Mary speaking?”

西方人一接到电话一般都先报自己的号码或者工作单位的名称。如:

“Hello,52164768,this is Jim.”

中国学生刚开始学英语会犯这样的错误:

“Hello,who are you please?”

7.接受礼物

中国人收到礼物时,一般是放在一旁,确信客人走后,才迫不及待地拆开。受礼时连声说:

“哎呀,还送礼物干什么?”

“真是不好意思啦。”

“下不为例。”

“让您破费了。”

西方人收到礼物时,一般当着客人的面马上打开,并连声称好:

“Very beautiful!Wow!”

“What a wonderful gift it is!”

“Thank you for your present.”

8.称唿用语

中国人见面时喜欢问对方的年龄、收入、家庭等。而西方人很反感别人问及这些私事。西方人之间,如没有血缘关系,对男子统称唿“Mr.”,对未婚女士统称“Miss”,对已婚女士统称“Mrs.”。

中国人重视家庭、亲情,认为血浓于水。为了表示礼貌,对陌生人也要以亲属关系称唿。如:

“大爷、大娘、大叔、大婶、大哥、大姐等”。

9.体贴他人

在西方,向别人提供帮助、关心、同情等的方式和程度是根据接受方愿意接受的程度来定的;而中国人帮起忙来一般是热情洋溢,无微不至。例如:一位中国留学生在美国看到一位老教授蹒跚过车水马龙的马路,出于同情心,他飞步上前挽住老人,要送他过去,但是他得到的却是怒目而视。请看下面的对话:

Chinese student:Mr.White,you are so pale,are you sick?

English teacher:Well...yes.I have got a bad cold for several days.

Chinese student:Well,you should go to a clinic and see the doctor as soon as possible.

English teacher:Er...what do you mean?

中国人建议患上感冒的人马上去看医生,表示真诚的关心。而美国人对此不理解,会认为难道他的病有如此严重吗?因此,只要回答:“I‘‘m sorry to hear that.”就够了。

10.请客吃饭

中国人招待客人时,一般都准备了满桌美味佳肴,不断地劝客人享用,自己还谦虚:“没什么菜,吃顿便饭。薄酒一杯,不成敬意。”行动上多以主人为客人夹菜为礼。

西方人会对此大惑不解:明明这么多菜,却说没什么菜,这不是实事求是的行为。而他们请客吃饭,菜肴特别简单,经常以数量不多的蔬菜为可口的上等菜,席间劝客仅仅说:“Help yourself to some vegetables,please.”吃喝由客人自便自定。

可见在学习语言的过程中,不可忽视语言交际中的文化倾向,要适时导入相关的文化背景知识,以充实学习者的知识结构,提高认知能力。

  代码审查是消灭Bug最重要的方法之一,这些审查在大多数时候都特别奏效。由于代码审查本身所针对的对象,就是俯瞰整个代码在测试过程中的问题和Bug。并且,代码审查对消除一些特别细节的错误大有裨益,尤其是那些能够容易在阅读代码的时候发现的错误,这些错误往往不容易通过机器上的测试识别出来。本文就常见的Java代码中容易出现的问题提出一些建设性建议,以便您在审查代码的过程中注意到这些常见的细节性错误。

  通常给别人的工作挑错要比找自己的错容易些。别样视角的存在也解释了为什么作者需要编辑,而运动员需要教练的原因。不仅不应当拒绝别人的批评,我们应该欢迎别人来发现并指出我们的编程工作中的不足之处,我们会受益匪浅的。

   正规的代码审查(code inspection)是提高代码质量的最强大的技术之一,代码审查—由同事们寻找代码中的错误—所发现的错误与在测试中所发现的错误不同,因此两者的关系是互补的,而非竞争的。

  如果审查者能够有意识地寻找特定的错误,而不是靠漫无目的的浏览代码来发现错误,那么代码审查的效果会事半功倍。在这篇文章中,我列出了11个Java编程中常见的错误。你可以把这些错误添加到你的代码审查的检查列表(checklist)中,这样在经过代码审查后,你可以确信你的代码中不再存在这类错误了。

  一、常见错误1# :多次拷贝字符串

  测试所不能发现的一个错误是生成不可变(immutable)对象的多份拷贝。不可变对象是不可改变的,因此不需要拷贝它。最常用的不可变对象是String。

  如果你必须改变一个String对象的内容,你应该使用StringBuffer。下面的代码会正常工作:

String s = new String ("Text here");

  但是,这段代码性能差,而且没有必要这么复杂。你还可以用以下的方式来重写上面的代码:

String temp = "Text here";
String s = new String (temp);

  但是这段代码包含额外的String,并非完全必要。更好的代码为:

String s = "Text here";

  二、常见错误2#: 没有克隆(clone)返回的对象

  封装(encapsulation)是面向对象编程的重要概念。不幸的是,Java为不小心打破封装提供了方便——Java允许返回私有数据的引用(reference)。下面的代码揭示了这一点:

import java.awt.Dimension;
/***Example class.The x and y values should never*be negative.*/
public class Example{
  private Dimension d = new Dimension (0, 0);
  public Example (){ }

  /*** Set height and width. Both height and width must be nonnegative * or an exception is thrown.*/
  public synchronized void setValues (int height,int width) throws IllegalArgumentException{
   if (height < 0 || width < 0)
    throw new IllegalArgumentException();
    d.height = height;
      d.width = width;
  }

  public synchronized Dimension getValues(){
   // Ooops! Breaks encapsulation
   return d;
  }
}

  Example类保证了它所存储的height和width值永远非负数,试图使用setValues()方法来设置负值会触发异常。不幸的是,由于getValues()返回d的引用,而不是d的拷贝,你可以编写如下的破坏性代码:

Example ex = new Example();
Dimension d = ex.getValues();
d.height = -5;
d.width = -10;

  现在,Example对象拥有负值了!如果getValues() 的调用者永远也不设置返回的Dimension对象的width 和height值,那么仅凭测试是不可能检测到这类的错误。

  不幸的是,随着时间的推移,客户代码可能会改变返回的Dimension对象的值,这个时候,追寻错误的根源是件枯燥且费时的事情,尤其是在多线程环境中。

  更好的方式是让getValues()返回拷贝:

public synchronized Dimension getValues(){
return new Dimension (d.x, d.y);
}

  现在,Example对象的内部状态就安全了。调用者可以根据需要改变它所得到的拷贝的状态,但是要修改Example对象的内部状态,必须通过setValues()才可以。

  三、常见错误3#:不必要的克隆

  我们现在知道了get方法应该返回内部数据对象的拷贝,而不是引用。但是,事情没有绝对:

/*** Example class.The value should never * be negative.*/
public class Example{
  private Integer i = new Integer (0);
  public Example (){ }

  /*** Set x. x must be nonnegative* or an exception will be thrown*/
  public synchronized void setValues (int x) throws IllegalArgumentException{
   if (x < 0)
    throw new IllegalArgumentException();
    i = new Integer (x);
  }

  public synchronized Integer getValue(){
   // We can’t clone Integers so we makea copy this way.
   return new Integer (i.intValue());
  }
}

  这段代码是安全的,但是就象在错误1#那样,又作了多余的工作。Integer对象,就象String对象那样,一旦被创建就是不可变的。因此,返回内部Integer对象,而不是它的拷贝,也是安全的。

  方法getValue()应该被写为:

public synchronized Integer getValue(){
// ’i’ is immutable, so it is safe to return it instead of a copy.
return i;
}

  Java程序比C++程序包含更多的不可变对象。JDK 所提供的若干不可变类包括:

  ·Boolean
   ·Byte
   ·Character
   ·Class
   ·Double
   ·Float
   ·Integer
   ·Long
   ·Short
   ·String
   ·大部分的Exception的子类

    四、常见错误4# :自编代码来拷贝数组

  Java允许你克隆数组,但是开发者通常会错误地编写如下的代码,问题在于如下的循环用三行做的事情,如果采用Object的clone方法用一行就可以完成:

public class Example{
  private int[] copy;
  /*** Save a copy of ’data’. ’data’ cannot be null.*/
  public void saveCopy (int[] data){
   copy = new int[data.length];
   for (int i = 0; i < copy.length; ++i)
    copy[i] = data[i];
  }
}

  这段代码是正确的,但却不必要地复杂。saveCopy()的一个更好的实现是:

void saveCopy (int[] data){
  try{
   copy = (int[])data.clone();
  }catch (CloneNotSupportedException e){
   // Can’t get here.
  }
}

  如果你经常克隆数组,编写如下的一个工具方法会是个好主意:

static int[] cloneArray (int[] data){
  try{
   return(int[])data.clone();
  }catch(CloneNotSupportedException e){
   // Can’t get here.
  }
}

  这样的话,我们的saveCopy看起来就更简洁了:

void saveCopy (int[] data){
  copy = cloneArray ( data);
}

  五、常见错误5#:拷贝错误的数据

  有时候程序员知道必须返回一个拷贝,但是却不小心拷贝了错误的数据。由于仅仅做了部分的数据拷贝工作,下面的代码与程序员的意图有偏差:

import java.awt.Dimension;
/*** Example class. The height and width values should never * be
negative. */
public class Example{
  static final public int TOTAL_VALUES = 10;
  private Dimension[] d = new Dimension[TOTAL_VALUES];
  public Example (){ }

  /*** Set height and width. Both height and width must be nonnegative * or an exception will be thrown. */
  public synchronized void setValues (int index, int height, int width) throws IllegalArgumentException{
   if (height < 0 || width < 0)
    throw new IllegalArgumentException();
    if (d[index] == null)
     d[index] = new Dimension();
     d[index].height = height;
     d[index].width = width;
  }
  public synchronized Dimension[] getValues()
   throws CloneNotSupportedException{
    return (Dimension[])d.clone();
  }
}

  这儿的问题在于getValues()方法仅仅克隆了数组,而没有克隆数组中包含的Dimension对象,因此,虽然调用者无法改变内部的数组使其元素指向不同的Dimension对象,但是调用者却可以改变内部的数组元素(也就是Dimension对象)的内容。方法getValues()的更好版本为:

public synchronized Dimension[] getValues() throws CloneNotSupportedException{
  Dimension[] copy = (Dimension[])d.clone();
  for (int i = 0; i < copy.length; ++i){
   // NOTE: Dimension isn’t cloneable.
   if (d != null)
    copy[i] = new Dimension (d[i].height, d[i].width);
  }
  return copy;
}

  在克隆原子类型数据的多维数组的时候,也会犯类似的错误。原子类型包括int,float等。简单的克隆int型的一维数组是正确的,如下所示:

public void store (int[] data) throws CloneNotSupportedException{
  this.data = (int[])data.clone();
  // OK
}

  拷贝int型的二维数组更复杂些。Java没有int型的二维数组,因此一个int型的二维数组实际上是一个这样的一维数组:它的类型为int[]。简单的克隆int[][]型的数组会犯与上面例子中getValues()方法第一版本同样的错误,因此应该避免这么做。下面的例子演示了在克隆int型二维数组时错误的和正确的做法:

public void wrongStore (int[][] data) throws CloneNotSupportedException{
  this.data = (int[][])data.clone(); // Not OK!
}
public void rightStore (int[][] data){
  // OK!
  this.data = (int[][])data.clone();
  for (int i = 0; i < data.length; ++i){
   if (data != null)
    this.data[i] = (int[])data[i].clone();
  }
}

   六、常见错误6#:检查new 操作的结果是否为null

  Java编程新手有时候会检查new操作的结果是否为null。可能的检查代码为:

Integer i = new Integer (400);
if (i == null)
throw new NullPointerException();

  检查当然没什么错误,但却不必要,if和throw这两行代码完全是浪费,他们的唯一功用是让整个程序更臃肿,运行更慢。

  C/C++程序员在开始写java程序的时候常常会这么做,这是由于检查C中malloc()的返回结果是必要的,不这样做就可能产生错误。检查C++中new操作的结果可能是一个好的编程行为,这依赖于异常是否被使能(许多编译器允许异常被禁止,在这种情况下new操作失败就会返回null)。在java 中,new 操作不允许返回null,如果真的返回null,很可能是虚拟机崩溃了,这时候即便检查返回结果也无济于事。

    七、常见错误7#:用== 替代.equals

  在Java中,有两种方式检查两个数据是否相等:通过使用==操作符,或者使用所有对象都实现的.equals方法。原子类型(int, flosat, char 等)不是对象,因此他们只能使用==操作符,如下所示:

int x = 4;
int y = 5;
if (x == y)
   System.out.println ("Hi");
// This ’if’ test won’t compile.
if (x.equals (y))
   System.out.println ("Hi");

  对象更复杂些,==操作符检查两个引用是否指向同一个对象,而equals方法则实现更专门的相等性检查。

  更显得混乱的是由java.lang.Object 所提供的缺省的equals方法的实现使用==来简单的判断被比较的两个对象是否为同一个。

  许多类覆盖了缺省的equals方法以便更有用些,比如String类,它的equals方法检查两个String对象是否包含同样的字符串,而Integer的equals方法检查所包含的int值是否相等。

  大部分时候,在检查两个对象是否相等的时候你应该使用equals方法,而对于原子类型的数据,你用该使用==操作符。

  八、常见错误8#: 混淆原子操作和非原子操作

  Java保证读和写32位数或者更小的值是原子操作,也就是说可以在一步完成,因而不可能被打断,因此这样的读和写不需要同步。以下的代码是线程安全(thread safe)的:

public class Example{
  private int value; // More code here…
  public void set (int x){
   // NOTE: No synchronized keyword
   this.value = x;
  }
}

  不过,这个保证仅限于读和写,下面的代码不是线程安全的:

public void increment (){
  // This is effectively two or three instructions:
  // 1) Read current setting of ’value’.
  // 2) Increment that setting.
  // 3) Write the new setting back.
  ++this.value;
}

  在测试的时候,你可能不会捕获到这个错误。首先,测试与线程有关的错误是很难的,而且很耗时间。其次,在有些机器上,这些代码可能会被翻译成一条指令,因此工作正常,只有当在其它的虚拟机上测试的时候这个错误才可能显现。因此最好在开始的时候就正确地同步代码:

public synchronized void increment (){
  ++this.value;
}

  九、常见错误9#:在catch 块中作清除工作

  一段在catch块中作清除工作的代码如下所示:

OutputStream os = null;
try{
  os = new OutputStream ();
  // Do something with os here.
  os.close();
}catch (Exception e){
  if (os != null)
  os.close();
}

  尽管这段代码在几个方面都是有问题的,但是在测试中很容易漏掉这个错误。下面列出了这段代码所存在的三个问题:

  1.语句os.close()在两处出现,多此一举,而且会带来维护方面的麻烦。

  2.上面的代码仅仅处理了Exception,而没有涉及到Error。但是当try块运行出现了Error,流也应该被关闭。

  3.close()可能会抛出异常。

  上面代码的一个更优版本为:

OutputStream os = null;
try{
  os = new OutputStream ();
  // Do something with os here.
}finally{
  if (os != null)
   os.close();
}

  这个版本消除了上面所提到的两个问题:代码不再重复,Error也可以被正确处理了。但是没有好的方法来处理第三个问题,也许最好的方法是把close()语句单独放在一个try/catch块中。

  十、常见错误10#: 增加不必要的catch 块

  一些开发者听到try/catch块这个名字后,就会想当然的以为所有的try块必须要有与之匹配的catch块。

  C++程序员尤其是会这样想,因为在C++中不存在finally块的概念,而且try块存在的唯一理由只不过是为了与catch块相配对。

  增加不必要的catch块的代码就象下面的样子,捕获到的异常又立即被抛出:

try{
  // Nifty code here
}catch(Exception e){
  throw e;
}finally{
  // Cleanup code here
}

  不必要的catch块被删除后,上面的代码就缩短为:

try{
  // Nifty code here
}finally{
  // Cleanup code here
}

  常见错误11#;没有正确实现equals,hashCode,或者clone 等方法

  方法equals,hashCode,和clone 由java.lang.Object提供的缺省实现是正确的。不幸地是,这些缺省实现在大部分时候毫无用处,因此许多类覆盖其中的若干个方法以提供更有用的功能。但是,问题又来了,当继承一个覆盖了若干个这些方法的父类的时候,子类通常也需要覆盖这些方法。在进行代码审查时,应该确保如果父类实现了equals,hashCode,或者clone等方法,那么子类也必须正确。正确的实现equals,hashCode,和clone需要一些技巧。

  小结

  我在代码审查的时候至少遇到过一次这些错误,我自己也犯过其中的几个错误。好消息是只要你知道你在找什么错误,那么代码审查就很容易管理,错误也很容易被发现和修改。即便你找不到时间来进行正规的代码审查,以自审的方式把这些错误从你的代码中根除会大大节省你的调试时间。花时间在代码审查上是值得的。

“远程破解”与“本地破解”正好相反,是指QQ盗号者通过网络盗窃远端QQ用户的密码。这种QQ破解有很多方法,如在线密码破解、登录窗口破解、邮箱破解、消息诈骗以及形形色色的QQ木马病毒等。下面就让我们一同来看看这些QQ密码的远程破解是怎么实现的。

1、在线密码破解

大家知道QQ可以利用代理服务器登录,这是一种保护措施。它不仅可以隐藏用户的真实IP地址,以避免遭受网络攻击,还可以加快登录速度,保证登录的稳定性。

在线密码破解和本地密码破解采用的技术方法类似,都是穷举法,只不过前者完全脱离了本地用户使用的QQ。它通过对登录代理服务器进行扫描,只要想盗的QQ号码在线,就可利用在线盗号工具实现远程TCP/IP的追捕,从而神不知鬼不觉地盗取QQ密码!

在线破解改变了本地破解那种被动的破解方式,只要是在线的QQ号码都可以破解,适用范围较广。但是由于它仍然采用穷举法技术,所以在枚举密钥位数长度以及类型时,校验时间很长,破解效率不高。同样,这种方法还受到电脑速度、网速等诸多因素的影响,因此比前面的本地破解更麻烦。

目前功能比较强大的一款QQ密码在线破解软件叫QQExplorer。它的破解操作分四步:第一步,在QQ起始号码和结束号码中填上想要盗取的QQ号码(此号码必须在线);第二步,在“添加或删除HTTP代理服务器”中输入代理服务器的IP地址和端口号码(如果你嫌自己寻找QQ代理服务器麻烦,可以使用一些现代的QQ代理公布软件);第三步,点击“添加&测试”按钮,软件先自动检测此服务器是否正常,确定后将它加入代理服务器列表(此软件可填入多个代理服务器的地址,并且能够自动筛选不可用或者速度慢的服务器);第四步,点击“开始”按钮,开始在线密码破解……

2、登录窗口破解

伪造QQ登录窗口的盗号方法非常简单,这是一种比较另类的木马破解方法(后面对木马破解有专门讲述)。先用盗号软件生成一个伪装的QQ主程序,它运行后会出现跟腾讯QQ一模一样的登录窗口,只要用户在这个伪登录窗口中登录,输入的QQ号及密码就会被记录下来,并通过电子邮件发送到盗号者指定的油箱中,在此以一款叫“狐Q”的软件为例,首次运行它时,它会把自身复制到QQ目录中,并把原来的QQ.exe文件改名为QQ.com(这样的更改不会影响QQ的正常运行)。设置完毕后,“狐Q”的原程序就会消失,伪装成QQ等待“猎物”上钩……在其软件设置中,有一项设置可以决定真假QQ交替运行的次数,可以减少用户在使用QQ时产生的怀疑。比如说将“生效次数”设定为3,那么用户第一次运行的是真QQ了,也就是说在第三次运行时,用户的QQ号便被盗了!在QQ密码发送的过程中,如果发送失败,它还会把QQ号和密码记下来,等待下一次发送。

即时监视QQ登录窗口的盗号方法利用Windows窗口函数、句柄功能实现QQ号和密码的后台截取。此类软件几乎可以捕获Windows下所有标准密码框中的密码,如QQ、Outlook、屏幕保护程序、各种电子邮件客户端、各种游戏账号和上网账号等。捕获后,它也会将密码实时发送到盗号者指定的邮箱中。其代表性的盗号软件是“密码使者”,它几乎可以捕获Windows 9x/2000/XP下所有登录窗口中的密码,并且还能够盗取在网页中登录的各种密码。盗号在使用这款软件时,只须填上用于接收别人QQ密码的邮箱地址及保护密码,并把生成的盗号器文件传过去哄骗别人运行,然后就可以坐等密码上门!此软件与传统的键盘记录器不同,它在电脑每次开机时隐藏自启动,不管密码是用键盘输入的,还是复制、粘贴的,都能够有效地实时拦截!其注册版本居然还带有自动升级的功能,破坏力十分巨大。

3、邮箱破解

利用邮箱盗取QQ密码也是一种比较常用的方法。我们都知道,腾讯公司在对用户的QQ号码进行验证时需要用户填写电子邮箱。对于申请了“密码保护”功能的用户,在腾讯主页上找回遗忘的密码时,密码会被发送到用户注册时的邮箱中。所以,只要盗号者破解了对方的电子邮箱,就有机会得到其QQ密码!通常我们在对方QQ注册时填写的邮箱。至于如何破解电子邮箱,具体的操作方法有多种,由于它有点超出文本的范畴,所以大家可以自己上网查询相关资料,在此就不赘述了。

4、消息诈骗

孔子曰:上士杀人用笔端,中士杀人用语言,下士杀人用石盘。远程盗取QQ密码还有一种大家最常见也是最简单最有效的方法,那就是利用不少人爱贪小便宜的弱点,进行人为的欺骗!

标题:腾讯关于xxxxx获奖通知

“QQ幸运儿:恭喜!!!您已经成为QQ在线网友齐抽奖的中奖用户。您将获赠精美T恤1件,并有机会得到NOKIA 7110手机1部。腾讯公司(tencent.com)注:奖品是以邮寄方式寄出,请您认真填写以下资料。如果填写错误,将被作为自动放弃获奖机会处理。> > QQ号码:> 密码:> 姓名:> E-mail地址:> 身份证号码:> 通讯地址:> 联系电话:> 邮编:”

比如我们的QQ经常会收到如下的陌生人消息。

如果你真的如实填写这些资料并傻傻的发送回去,不一会儿QQ密码就被盗了。

还有类似这样的消息:“亲爱的***号QQ用户,恭喜你你已经成为腾讯的幸运号码,腾讯公司送你QQ靓号:12345,密码:54321。请尽快登陆并修改密码,感谢您对腾讯公司的支持!”不少人一看,以为白捡的便宜来了 ,登录一试还是真的,于是就大大咧咧地笑纳了。但是,很多人为了方便,不管什么东西都爱使用相同的密码,所以当这个QQ号的密码被你改为与自己QQ号相同的密码时,自己QQ号的连同这个赠送的QQ号都得玩完!这是因为,赠送的QQ号已被盗号者申请过密码保护,当你更改密码后他就利用腾讯的密码保护功能把它收了回去,同时也收走你的QQ密码。如果你的QQ没有申请过密码保护,此刻就只能和它永别了。

5、更多的木马破解

“古希腊大军围攻特洛伊城,久攻不破,遂造一大木马藏匿将士于其中,大部队假装撤退而弃木马。城中得知敌退,将木马作战利品拖入城内。午夜时分,匿于木马中的将士开启城门四处纵火,城外伏兵涌入,里应外合,焚屠特洛伊城。”这是古希腊神话《木马屠城记》的故事,其中那只木马被黑客程序借用其名,表“一经潜入,后患无穷”之意。一个完整的木马程序由服务器端和控制端组成。所谓“中了木马”,是指用户的电脑中被安装了木马的服务器端,而拥有控制端的盗号者就通过网络远程控制该电脑,从而轻而易举地盗得该缒灾械腝Q密码。

针对QQ的木马程序多不胜数,其中专门盗取QQ密码的也有一大堆,它们被偷偷地安装在用户的电脑中,随电脑启动而自动运行,如果用户使用QQ,那么其账号和密码就会被这些木马记录下来,并发送到木马安装者的邮箱中。前面已经介绍了两款通过登录窗口盗号的QQ木马,下面再介绍两款典型的。

第一款:极品QQ盗号2004

这是“极品QQ盗号”木马的最新版本。它的使用方法跟前面介绍的“密码使者”差不多,先再“设置”栏中填入接收QQ密码的邮箱地址和发送邮件的标题,然后把生成的盗号器偷偷地安装到别人的电脑里……这个木马声称可以避过主流的杀毒软件,盗取QQ最新版本的密码,即QQ2004和QQ2004奥运特别版的密码。

第二款:QQ间谍3.0

使用此木马软件时,点击工具条上的“服务端”,按照提示生成服务端程序,然后把它偷偷地传到别人的电脑中,当受害者不小心运行了它,木马就被种上了。这个木马不仅可以盗号,还能悄悄地在后台记录受害者的QQ聊天信息,并下载可执行文件实现远程升级和远程执行脚本程序。另外再注册之后,它还可以直接远程监控对方电脑上的QQ聊天记录。

利用木马软件盗取QQ密码,显然比用前面介绍的那些破解方法更有效率!不仅节省时间,而且成功率也高。但是,如何把木马程序的服务器端安装在用户的电脑中,这是一个费心思的事儿。另外,很多功能强大的木马程序都是需要花钱注册,才能使用其全部功能。因此,对于那些水平参差不齐的盗号者而言,要想玩转木马程序,还得费点劲。

不幸的消息……昨天我才把BitDefender的二年注册码贴出来,BitDefender就开始打击盗版。我的BitDefender就被告知License Key是盗版,然后就不能用了,唉……

  BitDefender - 我目前推荐的杀毒软件,具备四大功能:杀毒、防恶意软件、网络防火墙、垃圾邮件过滤器

  目前病毒、恶意软件泛滥,上网一不小心就感染N多病毒、N多恶意软件,简直是防不胜防!我装了Norton Antivirus都没用,照样N多Troijan、N多Adware过来。如果你也遇到和我一样的问题,那就试试BitDefender吧。呵呵

下载地址:http://download.bitdefender.com/windows/desktop/internet_security/final/en/bitdefender_isecurity_v10.exe

Key: C919025ADFC6A0460F3F A39B28EDCFE82CDD22A9 3D480FCB5052DE191D87 09F49E65E1D0E58624D9 53E8D7C7EC15D6D378B0 FD31B972D3CB3DDCCF94 A64121BB50C4AD025094 9318CCF8B751DDD3C80F 0CF851DA478F54A62DB6 7A069F8D7731675D5971

    在日常操作中,我们经常要输入各种各样的密码,例如开机时要输入密码,QQ时也要先输入密码,假如你忘记了这些密码,就有可能用不了机器、打不开文件、不能聊天……也许还会造成很大的损失!下面我们就介绍电脑操作中常用密码的破解方法,希望能解你燃眉之急。

    一、遗忘了SYSTEM密码

    如果你遗忘了CMOS设置中的SYSTEM密码,就无法启动机器了, 解决的办法只能是:打开机箱,把电池取下、正负极短接,给CMOS放电,清除CMOS中的所有内容(当然也就包括密码)。然后,重新开机进行设置。

    注意:有些主板设置了CMOS密码清除跳线,请参照主板说明书将该跳线短接,这样也可以清除CMOS密码。

    二、遗忘了SETUP密码

    遗忘了该密码,就不能进行CMOS设置了。如果你能使用计算机,但不能进入CMOS设置,可以这样解决:在DOS状态下启动DEBUG,然后输入如下命令手工清除SETUP密码:

_ o 70 16
_ o 71 16
_ q
 

    你也可以用CMOS密码破解软件来显示CMOS密码。这样的软件有很多,例如Cmospwd,它支持Acer、AMI、AWARD、COMPAQ、DELL、IBM、PACKARD BELL、PHOENIX、ZENITH AMI等多种BIOS。在DOS下启动该程序,CMOS密码就会显示出来。

    三、遗忘了Windows登录密码

    WinMe/98下对策:开机后按F8键选择DOS启动,然后删除Windows安装目录下的*.PWL密码文件,以及Profiles子目录下的所有个人信息文件。重新启动Windows后,系统会弹出一个不包含任何用户名的密码设置框,此时无需输入任何内容,直接单击“确定”,登录密码即被删除。

    另外,将注册表数据库HKEY_LOCAL_MACHINENetworkLogon 分支下的UserProfiles修改为“0”,然后重新启动Windows也可达到同样目的。

    WinXP/2000下对策:删除系统安装目录system32config下的SAM文件,重新启动,此时管理员Administrator账号已经没有密码了,用Administrator帐户登陆系统,不用输入任何密码,进入系统后再重新设置登陆帐户密码即可。

    四、遗忘了Windows屏保密码

    解决方法:在开机后按F8键,选择安全模式启动,进入Windows 后,右击桌面空白处,从弹出的快捷菜单中选择“属性”/屏幕 保护,取消“密码保护”即可。

    五、遗忘了Windows电源管理密码

   Windows的电源管理功能也可以设置密码,启用此功能后,当系统从节能状态返回时就会要求输入密码。

    如果你遗忘了该密码,可以使用前面破解Windows登录密码的那种方法去破解。

    六、遗忘了微软Office密码

    解决方法:使用破解Office系列文档密码的软件,这样的软件有很多,例如AOPR,该软件可以同时对微软Office系列Word、Excel及Access等软件所生成的密码进行破解,还可以对Word的*.DOT模板文件的密码进行搜索。

    七、遗忘了WinZip压缩包密码

    解决方法:用软件UZPC(Ultra Zip Password Cracker),找回丢失的密码。使用该软件时要先设置适当的解密方式,例如“后门方式”、“穷举方式”、“字典方式”和“ 模式匹配方式”等,一般采用“Brute Force穷举方式”,然后软件就会对所有可能的密码进行测试,直至找出最后的结果。

    八、遗忘了RAR压缩包密码

    遗忘了RAR压缩包密码后,你可下载一个CRARK软件来对其进行破解,它主要通过命令行来实现对RAR压缩包的密码进行破解。使用时一般只需直接使用“CRARK RAR压缩包文件名”命令,利用缺省参数即可进行破解。

    九、遗忘了QQ/ICQ密码

    为保护QQ密码,你应该赶快到这里申请密码保护。假如你忘记了QQ密码、或者密码被盗时,只需填写正确的信息即可取回。

    如果你要找回ICQ密码,可以使用软件ICQ Password Revealer,这是一个DOS下的命令行实用软件,你只需在ICQ安装文件夹的NEWDB子文件夹下执行该文件,然后按照屏幕提示输入自己的UIN,系统即会找回“久违”的ICQ密码。

    十、遗忘了OE密码

    如果你忘了密码,无法进入OutLook Express阅读收到的邮件、使用通讯簿等,可以这样破解:重启计算机并按F8,选择“安全模式”,再启动OE就不需要密码了,然后你可以重建一个用户(不能修改密码),把信息导入新用户信箱即可。

    十一、遗忘了Foxmail帐户密码

    解决方法:消除忘记的Foxmail帐户密码。首先打开Foxmail,新建一个帐户(帐户名任意,例如lacl1),然后退出Foxmail,运行Windows资源管理器,找到FoxmailMAILlacl1文件夹,里边有个“account.stg”,把它复制到忘记密码的帐户(例如“lacl”)目录中,直接覆盖原来的“account.stg”文件。再重新运行Foxmail,打开忘记密码的帐户,呵呵,怎么连“口令提示框”也没有?现在你就可以直接打开忘记密码的帐户,而且帐户中原来的邮件一封都不会少!

    十二、查看“*”密码

    许多密码在屏幕上都是以“*”显示的,因此我们无法直接看到密码的原始字符,如果你使用专门破解“*”密码的软件,即可查出这些密码的原始字符。

    这样的软件有很多,例如Win2000/Win98下你可用iOpus Password Recovery,WinXP下可用Password Spectator Pro 。使用时,只需先打开显示“*”的窗口,启动这类软件,然后按住Ctrl键,在密码栏中按下鼠标左键,这些“*”密码的原始字符就会显示出来了。

 

1 ALIBABA http://www.alibaba.com
2 EC EUROPE http://www.eceurope.com/
3 POSTRADE http://www.postrade.com
4 TRADEPRINCE http://www.tradeprince.com/
5 EC PLAZA http://www.ecplaza.org/
6 ECROBOT.COM http://www.ecrobot.com
7 WORLDBIZCLUB http://www.wbc.com/
8 WORLD BID http://www.worldbid.com/
9 TRADE UK http://tradeuk.brightstation.com/
10 FOREIGN-TRADE http://www.foreign-trade.com/
11 BUSY TRADE http://www.busytrade.com/
12 30TRADE http://www.30trade.com
13 BS-OFFICE100 http://www.bs-office100.com
14 NETTRADE 21 http://www.nettrade21.net/
15 NUDEAL http://www.nudeal.com/welcome/
16 FREE TRADE FRONT http://www.freetradefront.com/
17 BPGTO NETVIGATOR http://bpgto.netvigator.com/
18 GO 4 WORLD BUSINESS http://www.go4worldbusiness.com
19 TRADELEAD http://www.tradelead.com/
20 EXTREM http://www.extrem.ro/msg.htm
21 EUROTRADELEADS http://www.eurotradeleads.com
22 ASIA TRADE http://www.asiatrade.com/
23 EXPORT http://www.export.com
24 BIDMIX http://www.bidmix.com
25 BIG EXPORT http://www.bigex.com
26 INTL-TRADE http://www.intl-trade.com/l
27 BEST CLEARANCE http://www.bestclearance.com
28 FIND OFFER http://www.findoffer.com/
29 BIZBB http://www.bizbb.org/
30 SWISSS INFO http://www.swissinfo.com
31 WORLD TRADE AA http://www.worldtradeaa.net/
32 CASANET http://www.casanet.net.ma/businessIntl.asp
33 90TRADE http://www.90trade.com
34 TPAGE http://www.tpage.org/
35 GOLDEN TRADE http://www.golden-trade.com
36 EXTRADE http://www.extrade.net/
37 BIZ-CHANNEL http://www.biz-channel.com/
38 TRADEZONE http://www.trade-zone.net/
39 57TRADE http://www.57trade.com/
40 IMPORT TRADE BOARD http://www.itradeboard.com/
41 ASIANNET http://www.asiannet.com/infocenter/
42 CHINA VISTA http://www.chinavista.com/
43 TRADE SEARCH http://search.tradeprince.com
44 WORLD TRADE AA http://www.worldtradeaa.com/
45 SINOSOURCE http://www.sinosource.com/
46 EC6 http://www.ec6.org/
47 B2B-CHINA http://www.b2b-china.org/
48 DREAMMART http://www.dreammart.com/
49 BIZ365 http://www.biz365.org/
50 HUB DEAL http://www.hubdeal.com
51 TRADE-BOARD http://www.trade-board.com/
52 SUMATERA-INC http://www.sumatera-inc.com/
53 5EC http://www.5ec.org/
54 KM25 http://www.km25.com/offer/f_total.html
55 GLOBALTRADEWEB http://www.globaltradeweb.com/
56 SW365 http://www.sw365.com/
57 TRADE OFFER http://www.tradeoffer.com/
58 SROOF http://www.sroof.net
59 GBOT http://www.gbot.net
60 E-WORLDTRADE http://www.e-worldtrade.com/
61 EURO TRADE http://www.eurotradeleads.com
62 IMPORT LEADS http://www.importleads.com/
63 86TRADE http://www.86trade.org/
64 MERCOSUR http://www.mercosurb2b.com
65 WORLD CHAMBERS http://www.worldchambers.com/
66 WTCA http://iserve.wtca.org/tradeops/
67 AFACERI ONLINE http://www.afacerionline.com/
68 086-35.com http://www.086-35.com
69 SHA14 http://www.sha14.com
70 TRADEHOME http://www.tradehome.org/
71 E-TRADER http://www.e-trader.com
72 IBNET http://www.ibnet.com/home/splash.htm
73 ASIA BUSINESS http://www.asia-business.com
74 BUYSELLEX http://buysellex.com/nonmember_index.asp
75 FITA http://www.fita.com/
76 MEDITERRANEAN TRADE BOARD http://www.eidinet.com/
77 TWWORLDTRADEAA http://tw.worldtrade.aa.com
78 PREMIERBC http://www.premierbc.com
79 TURKISH FOREIGN TRADE http://www.turkishforeigntrade.com/
80 TRADEPRINE-CHINA http://china.tradeprince.com
81 B2G PLACE http://www.b2gplace.com
82 YESCO LTD http://www.yescoltd.com
83 WTDB http://www.wtdb.com/tradecenter/tradeopp.htm
84 IMPORT NEWS USA http://www.importnewsusa.com/
85 TRADE INFO http://www.trade-info.org/
86 YEBOSS http://www.yeboss.com
87 IMPEXTRADE http://www.impextrade.com/
88 NET GLOBAL TRADE http://www.netglobaltrade.com
89 TRADE MAMA http://www.trademama.com
90 CLICKIT http://www.clickit.com/touch/connect.htm
91 SSR HOLLAND http://www.ssrholland.com
92 ASIAN VENDORS http://www.asianvendors.com
93 086-114.com http://www.086-114.com
94 OWENS http://www.owens.com
95 GLOBALTRADEVILLAGE http://www.cometotrade.com/
96 WTN-DE http://www.wtn-de.com/
97 LINK8848 http://www.link8848.com
98 GO4WORLDBUSINESS http://www.go4worldbusiness.com/

NMEA是GPS 的標準protocol,她是ASCII的字串,像

$GPRMC,053322.682,A,2502.6538,N,12121.4838,E,0.00,315.00,080905,,,A*6F

這一個command是GPS Recommanded GNSS data

053322.682

是UTC Time : 格式是hhmmss.sss所以是5:33:22.682

A

代表data是valid (如果找不到衛星,就會是V)

2502.6538

是緯度,格式是degree * 100 + minutes。但是minutes是100進位,所以要/100 * 60轉為degree,轉換後就是25‘02‘39.228‘‘.

N

是代表緯度是北緯

12121.4838

是經度,格式是degree * 100 + minutes。minutes一樣要做/100*60的轉換,轉換後就是121‘21‘29.02‘‘.

E

代表經度是東經

0.00

是速度,因為GPS天線沒動,所以是0.00

315.00

是方向

080905

是目前的日期,格式是ddmmyy,所以是05年9月8日

– –

接著有兩個欄位沒有用,所以空著

A

是Autonomous ?

*6F

是checksum

*** 所以用google earth就知道我把天線放在哪了****


格式是:
1.一律以 $ 符號開頭
2.$ 後是Message id. 5個ASCII Code.
3.一連串以‘,‘分開的欄位.
4.Checksum,checkum以‘*‘開始,後面是兩個ASCII code.
5.

$GPGSV,1,1,02,14,,,37,25,,,46,,,,,,,,*7F

$GPGSV : Satellites in View

Message ID : $GPGSV
Number of Messages : 1
Message number : 1
Satellites in view : 02 目看到的衛星數
Satellite Id : 14 Satellite vehicle 以下是第一個看到的衛星,編號14
Elevation : – Elevation of satellite in degree
Azimuth : – Azimuth of satellite in defree
SNR : 37 Signal to Noise ration in dbHz
Satellite id : 25 Satellite vehicle,以下是第二個看到的衛星,邊號25


NMEA Protocol中checksum的算法:
不包含開頭的‘$‘,一直計算到‘*‘之前。一個byte一個byte的作XOR.


data++; // skip the heading ‘

所以可以知道,連command間的‘,‘符號也加入計算。


一般NMEA的report data中,用


有些擴充協定,用來設定,例如
$PNMRX103, NMEA report rate control
可以指定NMEA report資料的頻率
GGA,GLL,GSA,GSV,RMC,VTG,ZDA,ALL
例如:
$PNMRX103,ALL,0*1A
所有的report都停止。
$PNMRX103,RMC,2*02
每2 sec送出一次RMC report


$PNMRX100 設定baud rate
$PNMRX100,0,4800,0*48
設定
Protocol : 0 : NMEA Mode, 1: Bindary Mode (不要用這一個)
baud rate: 4800 其他可以設1200,2400,4800,9600,19200,38400,57600.
Parity : 0 : None, 其他1 2代表Odd, 2代表 Even.
所以上面的example代表:使用NMEA Mode, 4800, None Parity


這些設定在reset後都消失……


雖然Manual中說明support message有GGA,GLL,GSA,GSV,RMC,VTG,ZDA但是用ALL command開啟後,發現只有report GGA,GSA,RMC,VTG.


NMEA是"National Marine Electronics Association"(国际海洋电子协会)缩写,同时也是数据传输标准工业协会,在这里,实际上应为NMEA 0183。它是一套定义接收机输出的标准信息,有几种不同的格式,每种都是独立相关的ASCII格式,逗点隔开数据流,数据流长度从30-100字符不 等,通常以每秒间隔选择输出,最常用的格式为"GGA",它包含了定位时间,纬度,经度,高度,定位所用的卫星数,DOP值,差分状态和校正时段等,其他 的有速度,跟踪,日期等。NMEA实际上已成为所有的GPS接收机和最通用的数据输出格式,同时它也被用于与GPS接收机接口的大多数的软件包里。

  NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。下面给出这些常用NMEA-0183语句的字段定义解释。

$GPGGA
例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F
字段0:$GPGGA,语句ID,表明该语句为Global Positioning System Fix Data(GGA)GPS定位信息
字段1:UTC 时间,hhmmss.sss,时分秒格式
字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段3:纬度N(北纬)或S(南纬)
字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段5:经度E(东经)或W(西经)
字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算
字段7:正在使用的卫星数量(00 – 12)(前导位数不足则补0)
字段8:HDOP水平精度因子(0.5 – 99.9)
字段9:海拔高度(-9999.9 – 99999.9)
字段10:地球椭球面相对大地水准面的高度
字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
字段12:差分站ID号0000 – 1023(前导位数不足则补0,如果不是差分定位将为空)
字段13:校验值

$GPGSA
例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A
字段0:$GPGSA,语句ID,表明该语句为GPS DOP and Active Satellites(GSA)当前卫星信息
字段1:定位模式,A=自动手动2D/3D,M=手动2D/3D
字段2:定位类型,1=未定位,2=2D定位,3=3D定位
字段3:PRN码(伪随机噪声码),第1信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段4:PRN码(伪随机噪声码),第2信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段5:PRN码(伪随机噪声码),第3信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段6:PRN码(伪随机噪声码),第4信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段7:PRN码(伪随机噪声码),第5信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段8:PRN码(伪随机噪声码),第6信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段9:PRN码(伪随机噪声码),第7信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段10:PRN码(伪随机噪声码),第8信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段11:PRN码(伪随机噪声码),第9信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段12:PRN码(伪随机噪声码),第10信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段13:PRN码(伪随机噪声码),第11信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段14:PRN码(伪随机噪声码),第12信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段15:PDOP综合位置精度因子(0.5 – 99.9)
字段16:HDOP水平精度因子(0.5 – 99.9)
字段17:VDOP垂直精度因子(0.5 – 99.9)
字段18:校验值

$GPGSV
例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70
字段0:$GPGSV,语句ID,表明该语句为GPS Satellites in View(GSV)可见卫星信息
字段1:本次GSV语句的总数目(1 – 3)
字段2:本条GSV语句是本次GSV语句的第几条(1 – 3)
字段3:当前可见卫星总数(00 – 12)(前导位数不足则补0)
字段4:PRN 码(伪随机噪声码)(01 – 32)(前导位数不足则补0)
字段5:卫星仰角(00 – 90)度(前导位数不足则补0)
字段6:卫星方位角(00 – 359)度(前导位数不足则补0)
字段7:信噪比(00-99)dbHz
字段8:PRN 码(伪随机噪声码)(01 – 32)(前导位数不足则补0)
字段9:卫星仰角(00 – 90)度(前导位数不足则补0)
字段10:卫星方位角(00 – 359)度(前导位数不足则补0)
字段11:信噪比(00-99)dbHz
字段12:PRN 码(伪随机噪声码)(01 – 32)(前导位数不足则补0)
字段13:卫星仰角(00 – 90)度(前导位数不足则补0)
字段14:卫星方位角(00 – 359)度(前导位数不足则补0)
字段15:信噪比(00-99)dbHz
字段16:校验值

$GPRMC
例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
字段0:$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息
字段1:UTC时间,hhmmss.sss格式
字段2:状态,A=定位,V=未定位
字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段4:纬度N(北纬)或S(南纬)
字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段6:经度E(东经)或W(西经)
字段7:速度,节,Knots
字段8:方位角,度
字段9:UTC日期,DDMMYY格式
字段10:磁偏角,(000 – 180)度(前导位数不足则补0)
字段11:磁偏角方向,E=东W=西
字段16:校验值

$GPVTG
例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F
字段0:$GPVTG,语句ID,表明该语句为Track Made Good and Ground Speed(VTG)地面速度信息
字段1:运动角度,000 – 359,(前导位数不足则补0)
字段2:T=真北参照系
字段3:运动角度,000 – 359,(前导位数不足则补0)
字段4:M=磁北参照系
字段5:水平运动速度(0.00)(前导位数不足则补0)
字段6:N=节,Knots
字段7:水平运动速度(0.00)(前导位数不足则补0)
字段8:K=公里/时,km/h
字段9:校验值

$GPGLL
例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D
字段0:$GPGLL,语句ID,表明该语句为Geographic Position(GLL)地理定位信息
字段1:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段2:纬度N(北纬)或S(南纬)
字段3:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段4:经度E(东经)或W(西经)
字段5:UTC时间,hhmmss.sss格式
字段6:状态,A=定位,V=未定位
字段7:校验值

  这几天用上了一个电子词典--灵格斯词霸 http://www.lingoes.cn

  不错!推荐大家使用!占用资源少、无广告、无插件、外挂词库,主要是还完全免费!使用方法和金山词霸基本一样。早就想把金山词霸换了,现在终于找到一个不错的了。它除了发音不怎么好以外,其它部分都做得非常不错。

  今天它又更新了 牛津高阶英语词典、朗文当代英语词典等等……

  向大家推荐个多媒体电子书的网站:http://www.zcom.com

  我感觉做得非常不错的一个多媒体电子书,我从上面Down了中国国家地理的两本书,感觉很不错。你甚至可以感觉到与书互动的那种感觉。虽然这样说是夸张了点,呵呵。不过如果你喜欢看书的话,这个网站你是绝对不能错过了。而且目前上面的书籍都是免费下载观看的。

  推荐!