诚毅小家|集美大学生活【集美大学,诚毅学院,水产学院,师范学院,美术学院,财经学院,体育学院,航海学院,集美学村,石鼓路,龙舟池】

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 642|回复: 0

【GBA、NDS、PSP】汉化基础教程——基础篇(上) by PGCG

[复制链接]
发表于 2010-8-24 16:35:24 | 显示全部楼层 |阅读模式
本帖最后由 守护¥云 于 2010-8-24 16:51 编辑

汉化基础教程——基础篇(上) by PGCG
      
     上期我们谈了关于汉化的心态问题,别看他并没有什么技术含量,但他却决定了学习实践的成功与否。从这期开始,逐渐讲解汉化的理论知识。汉化不外乎就是把游戏里面的异国文字修改成咱们中国人所使用的中文汉字,请记住是中文汉字,而不是日文中的汉字。所以我们的研究对象就是游戏中的文字。

下面我们就从文字开始研究:

    首先,我们先别慌着开始汉化研究,因为汉化涉及许多电脑方面的基础知识,我们必须先来学习一下这戏基础。如果你对自己的电脑知识掌握程度有相当的把握那就跳过这一部分继续往下看,如果没有就一定要认真地看。

  二进制(0 1):

  不管是电子计算机还是游戏机在存储数据的时候都是以二进制的方式进行储存的。因为电子电路能表示的就只有两种状态,要么通电要么断电(电子电路是与非门电路,准确来讲应该是高电位和低电位两种状态,这里为了简单化就认为成通电与断电)。而我们人类只习惯于十进制,所以要读懂二进制就先转化为十进制。又由于二进制的一位表示的数值太小,如果要表示一个比较大的数字的话这个二进制数字就相当的长,这样不便于人们辨识。所以从二进制里面派生出了八进制(0 1 2 3 4 5 6 7)和十六进制(0 1 2 3 4 5 6 7 8 9 A B C D E F),每三位二进制数可以转换为一位八进制,每四位二进制可以转换为一位十六进制。
      怎样互换这些不同的进制数值是个数学问题,高中文化都知道的方法,如果实在不懂的话可以使用任何一款科学计算器,Windows系统里面就带有。123D表示十进制,123H表示十六进制,末尾的D H这些字母标明数值的类型。

    位bit与字节byte:

  我们常说的电脑是32位;PS是32位;GBA是32位,这里的32位指的是核心CPU寄存器的宽度,1位就是1个二进制位的宽度,32位就是32个二进制位的宽度,也是8位十六进制宽度,数值表示范围从00000000H-FFFFFFFFH。两位十六进制数为一个字节byte,数值范围00H-FFH;两个字节为一个字;两个字为一个双字。由此可得几个单位的转换关系:1GB(byte)=1024MB 1MB=1024B 1B(byte)=8b(bit)。MB和Mb是两个单位,任天堂的卡带容量都是以Mb为单位的。

    文件与存储:
  电子设备在保存记录信息的时候也是二进制的方式来保存的,文件也是一样,无论是rm mp3还是txt 甚至游戏ROM也是这样的。但有一点需要注意:在保存数值信息得时候,数值是以字节为单位,高地址存放高位字节,低地址存放低位字节。什么意思呢?举个例子:1234H 这个数有两个字节的宽度,在保存的时候就应该是34 12,因为12是高位字节,34是低位字节,越往后靠地址越高。 我们再来认识一下文字在电脑中的存储显示问题。我们知道在电脑中储存的信息只有两种状态——0和1(二进制),所以我们就得把具体问题抽象为0和1的问题。
  一般来讲,文字在电脑中保存有两种形式:文本形式和图片形式。 先来研究文本形式的文字。最基本的就是把字符点阵化然后把每个点的状态转化成二进制代码。以字母“A”为例:



    这是8*8像素字母A的点阵构成 我们把每个点的状态转换成二进制数值,用0表示○;1表示●,按照这个规则从左到右从上到下排列就可以得到:00000000 00011000 00100100 01000010 01000010 01111110 01000010 00000000




转换为十六进制:00 18 24 42 42 7E 42 00,这就是最简单的表示方法,但这并不是字母“A”在文件中的保存形式。
  我们可以使用“记事本”(一定要使用记事本)创建一个纯文本文件,里面输入唯一的一个大写字母A,然后我们再用任何一个十六进制编辑器打开这个保存的文件就会发现问题(推荐UltraEdit):文件中只有唯一的一个十六进制值——

      为什么不是我们得到的00 18 24 42 42 7E 42 00
  
       道理很简单,如果文字都按照这样的方式储存并表示的话那文件就太大了。计算机在保存文本的时候并不是直接把文字的点阵信息记录到文件中,而是把点阵记录到系统字库里,而文件中就记录下这个字符的代码值。


  在读取的时候先把代码值41H读取出来,再通过字符映射找到41所对应字符在系统字库里面的实际位置,接着再把这个位置的信息00 18 24 42 42 7E 42 00读取出来通过显示程序显示在屏幕上的。字符映射表就是详细记录代码与字符点阵的对应关系,为一一映射,没有一对多也没有多对一。


  调用系统字库可以大大节省文件的容量,提高显示效率。映射表在汉化的时候也可称为码表。在电脑中最典型的内码就是ASCII,“41”(十六进制)就是英文字母“A”的ASCII码值。ASCII里面包含了所有英文字符和标点符号的映射关系,ASCII编码的时候为单字节,所以A只占用一个字节。


  汉字的内码比较多,主要有GB2312(简体)和GBK(繁体),汉字编码一般为2个字节,所以表示一个汉字所占用的空间就是英文字母的两倍。
  这一原理相当的重要,日后汉化中都是围绕这个过程展开的。其实从这个原理就可看出为什么汉化英文游戏比日文游戏难度大的原因。






  再来说说图片形式的文字。顾名思义,图片文字就是把文字保存为图片。
  图片形式的文字字样

4nP4F +  
像这样的文字就是图片文字,文字本身就是一种图形,计算机在存储的时候要比文本型文字的原理要简单,仅仅是把每个象素转换为二进制以后按照图片规定的格式保存下来。转换后的数据本身就是图片信息,不像文本那样有对照表。 j|`lOH8  
  使用这种图片文字的好处就是可以使文字显得更加美观更加个性化、艺术化,还可以和其他图片相结合在一起。计算机或者游戏机在读取信息后就可以直接显示,不用再依照内码表进行数模(字模)转换。所不足的就是这种文字占用的空加要比文本文字暂用的空大许多,所以就不能反复使用这种形式的文字。
  一般来说,在游戏中图片文字用来作为游戏进入界面,游戏标题,控制界面等等少量的或需要美化的地方,比如“黄金太阳”、“ShiningSoul”、“SEGA”、“KONAMI”、“HP”、“MP”这些字符大都使用图片格式。游戏里面的对话,剧情介绍,道具名称,道具介绍,状态描述等等,则大都采用文本文字,因为这些文字量比较大而且会重复出现,因而就必须从容量上考虑,再说这些地方对文字要求是正规、统一、协调,以便于阅读。

  总的来说,图片文字原理比较简单,但占用空间大;文本文字原理比较复杂,好处是占用空间小。 小结:游戏机在本质上和电脑没有太大区别,所不同的就是用途。汉化的前提是对电脑基础知识的掌握,考验的是汉化者的综合素质。

  对游戏的汉化就是对文字的修改,所有的游戏文字都离不开以上两种方式进行存储和显示的,我们必须深刻理解其中的原理。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|诚毅小家 ( 小家社区工作室 闽ICP备05007965号 )

GMT+8, 2024-12-22 15:55 , Processed in 0.060572 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表