家具的油漆对人体有什么危害-急用

油漆家具主要污染问题,油漆家具主要分为实木油漆家具与欧式家具等等,但家具看起来不同,但主要的污染问题基本相同。油漆家具甲醛污染有两个来源:一是没有喷漆的人造板;二是家具内部喷漆量小,漆膜不完整,人造板中游离甲醛的释放不能完全封闭,这也是一个长期的污染源。下面郑州除甲醛公司分别带你了解

油漆家具外表面无长期甲醛释放量。

家具外表面油漆(外)涂装技术是:“喷漆-研磨-再涂装”.研磨使涂料光滑,保证了涂层的完整性,同时多次喷涂、多层涂覆,增加了漆膜的厚度。所述漆膜的完整、多层涂层可完全密封人造板,并能隔离游离甲醛的释放。

因此,只有油漆家具的外表面,微量的涂料粘合剂挥发甲醛的周期,通常完全六个月内完全挥发。在人造板中的游离甲醛,不会从家具的外表面蒸发出来。

中长期油漆家具甲醛释放的位置:家具内表面和无漆板

油漆家具内表面(内侧面),少量喷雾,很少抛光。内表面看起来枯燥,摸起来有些粗糙,这表明喷漆是不完整的,没有封闭,人造板封边作用并没有完全阻止甲醛挥发,甲醛在细膜破裂处挥发出来形成污染。

未涂漆的木质面板组件是油漆家具中甲醛排放量最大的部件。最常见的原人造板板构件:家具抽屉底部外侧,后背板外侧,外部顶板,床箱内测,床箱底板外侧等。

闰年为什么2月有29天?

汉化是个很有技术难度的工作,如果你没有在GBA时代的汉化工作基础。那么,独立完成一个游戏的汉化,是很艰难的。

随便说说,我也参与过某组某游戏的破解,知道一些,就随便说说。其中引用了一部分资料

一般来说,就分几步:1、破解游戏 2、文本导出 3、导出 4、翻译 5、润色 6、测试

破解游戏例如哪里是字库,哪里是(分别对应那些),哪里是文本区,哪里是声效区……如果文件系统比较复杂的ROM,不同文件分别是什么内容也要进行判明。另外有的游戏不同文本对应不同字库,这些都是需要认真确认的内容。有的ROM可能有压缩过的内容,如果这些内容涉及汉化的需要,这时还需要进行解压和压缩的测试。一般这个阶段我是会准备几张大纸进行详细记录的,这样为以后的工作将带来很大方便。2 字库导出 这个是关系到汉化可能性的最关键部分。一般游戏的字库有分完整字库和精简字库。完整字库里面包含了7000多个字符(其中6000多个汉字),而精简字库一般只有1000-2000个游戏里面实际运用到的字符。无论那个字库,由于日语汉字缺乏不少中文常用字,都必须修改,而精简字库更需要大改造,甚至扩容。后面会专门针对字库HACK进行讲解,此处暂时打住。3 文本试验汉化,就是用中文替换原来的日本语内容,所以需要对这个替换的可能性进行试验。当然,初步破解不一定要很正经的进行文本导出导入,或翻译修改,只需看看有没有修改的可能性就行。前面提到的不少教程都有涉及这方面的操作,可以仔细研究。4 HACK的主要就是拼组,色版处理等。另外一些需要汉化的关键(里面有需要汉化内容的)必须找出来。另外还可能需要做好色版导出,导出等准备工作。也可以进行一些修改的试验。如果上面的部分准备完成,并测试成功,那么恭喜,这个汉化项目已经成为可能。可以推进下一步工作了。

下一步就是学CT了

CT全称CrystalTile,是由天使组的Crystal在过去的tile工具的基础上不断改进的成果。可以说是汉化GBA/NDS游戏非常好用的工具。另外它还综合了差值搜索,LZ77解压,等不少有用的功能,而且还特意为汉化NDS游戏进行了优化。另外这个工具的版本还不断修正更新,我用的是5月中的版本,写本文的时候又更新了几个版本了。其实以前的TILE工具的一些操作在CT上面是通用的,那些工具都有一些网上的教程,但对于没有接触过的朋友,也作为CT这个新工具的介绍,所以我这里就专门简单介绍一下。下面就是CT的界面:①的区域是导航栏的主部分,最主要的是偏址,即偏移地址,另外还有颜色格式,颜色格式关系到能否正确查看ROM的图形部分的内容,汉化NDS游戏常用的是1bpp单色,GBA 4bpp,GBA 8bpp这几种(1bpp单色主要针对的是字库的内容)②的区域就是显示色版,关系到能否正确显示图形里面所对应颜色。可以在调色版菜单里面进行调整或回复默认。直接点击里面的颜色,可以进行直接修改。如果是非256色的色板,上部的横拉杆还可以读取总色版(256色)的不同部分来进行匹配。③的区域是TILE工具,可以进行简单的TILE修改,同时CT在这里还集成了通过码表生成字库的强大功能。(如果平时用不上TILE功能,可以隐去这个窗口腾出工作空间)中部的就是打开的ROM的内容了。现在ROM是以TILE模式打开的,也就是可以直接观察里面的TILE内容(字模,图形……)菜单栏下面是快捷工具栏分别是①导出按钮,这个按钮可以让CT导出选定的内容到一定格式的文件,常用的是将选定的图形区域内容导出为BMP文件,但CT的导出功能可不仅限于导出哦。具体的内容在H教程会进一步讲解。本篇只需有个大体概念就行了。②导入按钮,对修改好的,例如BMP,导入回ROM里面的指定区域。③16进制编辑器快速切换按钮,可以快速切换到16进制模式④LZ77解压按钮,对选定的LZ77内容解压⑤LZ77压缩按钮,将选定的内容进行LZ77压缩⑥将色版转换为16/32数据导入⑦将16进制方式存放的色版导出为PAL色版文件⑧对编码染色⑨应用码表开关其中④⑥⑦⑧⑨只能在16进制视图模式才可以使用。打开视图菜单,可以把工作ROM的视图转换到其他模式。下面我们切换到16进制模式,看看CT的16进制编辑功能。CT跟一般的16进制编辑器很像(虽然不及UE强大),但却结合汉化进行了优化。例如进行了编码染色。非常方便查看,有经验的美工,甚至可以直接通过被染色的编码马上就能找到色版数据的开头,进行色版导出(后面的美工教程会有进一步介绍)。另外在文本区域中间,也能很容易找到特殊控制符的内容(例如下面的例子中的F1FF等控制符就被染色为浅蓝色,与一般文字区别开来了)。另外一个很有用的功能就是直接套入码表来显示文本区的大体内容:一般NDS游戏对应的码表有两种分别是8140=空格的标准Shift-JIS码表和0000=空格的连续码表(码表的相关内容在后面的教程会进行介绍)。可以大胆地套一下来看看能不能找到文本区。例如超执刀就是用0000=空格那种码表,套入后,应用码表,就可以在CT的16进制模式大概看到文本区的内容。这对于解读ROM是非常必要的。另外CT还有一个很有用的功能就是NDS文件系统。通过这个系统能直观地看到NDS的文件结构,有的ROM甚至会把不同类型和用途的文件以更细致的方式存放,对于了解ROM的结构非常有用。此外在文件系统栏里面还可以分别对不同部分的文件进行导出和导入,分别分析和修改。CT还有不少强大的功能,待各位在运用中慢慢挖掘吧。总之我觉得开放这个工具的人,只要不是进行过非常规压缩和加密的ROM,大概能破解99%的GBA/NDS游戏了……二 面用一个简单的例子来说一下CT的TILE操作。一般在CT里面发现大概后,通过调整窗口大小(快捷键SHIFT+方向,但最新版本修改了这个功能的快捷键,用新版本的用户请阅读新版本的说明),另外,缩放的数值建议用200左右进行作业(旧版本用1位数值显示缩放比例)。这样就可以调整至比较工整的情况。(下图已经进行了调整)但这时看到的颜色是不正确的,因为默认的色版不适配所有图形(正确来说一般都不会适配,但相对的,也比较醒目)。如果想比较好地观察,我建议自己准备一个黑至白的色版(具体色版建立方法留在美工教程说吧),这样图形就能排除颜色的干扰更容易发现,对于未能确定色版的时候是非常方便的。当然,要准备的分别是8bpp(256色)和4bpp(16色)两种,以适应不同格式的。好,回到上面,只要套入了正确的色版,那么就可以正常显示了。(当然对于ROM解读阶段,没有必要给每个套上正确的色版)但发现貌似有点瑕疵,那是因为地址偏移还未准确。用快捷键:CTRL+方向键左右可以微调地址偏移,这个操作非常重要。调整后,隐藏掉碍眼网格就能看到这个效果了。用上述的方法就可以大概了解ROM的一下大概构造了。结合NDS文件系统大概了解一下各个文件分别包含的是什么内容,关键是这个内容在ROM的那个地址。另外也得进一步分析各个内容的具体位置,准备几张大白纸,仔细记录好ROM的各个区域分别是什么内容,例如按地址位置顺序列出:XXXXXXXX-XXXXXXXX是大标题图,8bppXXXXXXXX-XXXXXXXX是小标题图,4bppXXXXXXXX-XXXXXXXX是人物全身像,8bppXXXXXXXX-XXXXXXXX是字库,1bppXXXXXXXX-XXXXXXXX是文本区XXXXXXXX-XXXXXXXX是音效…………这个记录非常重要,一方面可以方便你随时查找需要注意的部分,另一个很重要的作用是:对于未确定地址的内容,可以通过归类和排除法,快速找到其可能的位置。对于本文的内容,可以参看第一话介绍过的教程的相关部分,并进而学习一些文本,码表的相关知识。终于进入了有点技术含量的部分了………

GBA/NDS游戏一般是怎么显示文字的呢 上里面提到了用CT套入正确的码表,在16进制模式,文本区就可以看见文本内容了。原理就是,ROM的文本区是用16进制代码来写的,例如上图中:“2年前の检查”对应的16进制就是000706f0行的CD00 CE0B 9B09 4701 3E06 1307这5组16进制编码。而码表就是表示CD00=2CE0B=年9B09=前4701=の3E06=检1307=查这样的转换关系的列表。游戏里面也是通过这样的转换关系,从字库挑取字符显示到屏幕上面的。如果把上面文本区编码改成CD00 CE0B CE0B 4701 3E06 1307游戏也相应会显示成:2年年の检查,这个也是汉化对文本修改的基础原理。(原文的“检”字不是简体的“检”字,为了说明方便我做了简化处理。)一般日文版游戏用的是Shift-JIS码表,一个完整的Shift-JIS码表从空格开始,标点,特殊符号,英文字母,平假名,片假名,日语汉字……例如8140= 8141=、8142=。8143=,8144=.8145=·8146=:8147=;8148=?8149=!814a=゛814b=゜814c=′814d=‘814e=¨……像上面这样的一个对应关系存放的TBL文件(可以用WINDOWS的记事本打开和编辑)而之前也说过,一般完整的Shift-JIS有2种主要的表示方式,如下图,分别是从8140=空格和0000=空格开始的两种(0000=空格严格来说不是Shift-JIS,而是在Shift-JIS的基础上重新进行自定义的编码)。一般完整的Shift-JIS码表汉字部分是以“亜”开头,以“熙”字作为结束(最完整的是以“黑”字结束,也就是“熙”后面还有一段,但一般情况下因为不是常用字,不少游戏就去掉“熙”字后面的部分了)。下面是这两种码表的分析:这样对比不难发现一个问题,8140=空格开始的那种码表,并不是连续的,而是跳过了XX00-XX3F、XX7F、XXFD、XXFE、XXFF(观察第一个码表中间框住有空行的部分)。而第二个码表是完全连续的。为什么呢?相信只要多观察几个文本区编码就会发现问题了。对于第一个码表的文本,跳过这些区域可以有效防止错位搞混的现象,另外也可以留出编码供半角字符,控制符等使用。而第二种码表的控制符则多数以FF00之后的编码作为控制符。上面说的是导出文本用的码表。只要能套上一个正确的码表就能把文本部分导出来了。但因为翻译后,不一定会(应该是“一定不会”)用上或只用上原来的字,因为汉化翻译后会用上很多原来字库没有的汉字(例如很多拟声词的字日语是没有的,例如吗,啦,嗯……),而且日语汉字多数是繁体字,要做简体版基本要把字库里面的字改成简体。那么翻译后要用新的字怎么办呢?最简单就是在原字库里面添加新字,但是如果只是添加就太浪费空间了,因为翻译后很多原来的字根本用不上,例如完整的Shift-JIS字库里面有6000多个汉字字模,而一般正常翻译之后,实际使用的汉字字模约2000-3000而已,汉化后因为内容跟原来不同,可以在原字库的基础上全部替换成需要用上的字模就行了。但是问题又来了,这些新的字模写进去后,怎么把它跟文本区的编码挂钩呢?这就需要用新的码表方式,把字库字模和文本区的编码重新对用上,这就需要重新编辑一个新码表。简单举个例子。例如上面的“2年前の检查”,汉化后变成“2年前的检查”,“的”字的字模我必须找一个位置放它,例如原来码表是4E03=亜,翻译后用不上这个繁体的“亜”字了,我就在字库原来“亜”的位置把它改成“的”字,然后把码表的对应关系改成4E03=的,跟着导入文本的时候,把原来的编码行“2年前の检查”的CD00 CE0B 9B09 4701 3E06 1307改成“2年前的检查”:CD00 CE0B 9B09 4E03 3E06 1307。那么游戏就会从原来4E03=“亜”的地方提取出现在修改后的“的”字。而这个新的码表和字库对应关系就是导入文本用的码表,也就是修改后的码表。这就需要重新编辑一个码表了。以上就是对码表的简单介绍,有个大概概念后下面转入字库部分,先简单了解一下字库和码表的关系。上一话讲了最基础的ROM解读,那么字库一般在ROM里面是什么样子的呢?下面就是一个例子:这个是超执刀的小字模字库库,看右边信息就可以看到字模是8X8以下的,用的是1bpp(2色),在游戏中的作用主要是用以标注某些专用名词的上标。而正文的字库是16X16的1bpp(2色)。小技巧:一般判断字库字模用的模式1bpp(2色),2bpp(4色),4bpp(16色),8bpp(256色),可以在游戏里面观察字体,如果是带阴影或边缘模糊(抗锯齿)的,一般就是4色以上的了。另外,如果字库附近有色版信息,从色版的结构(例如是2色,4色还是16色的色版)也能大概判断出字模的显示模式。

方面的话,以应援团为例说明下:这个少数游戏的会比较艰难

应援团里的文件一般被分成了3部分:

TILE文件:也就是主要的图形文件

MAP文件:控制TILE摆放的,类似中的文本

PALETTE文件:调色板文件

以上3个文件都是压缩后的.对应的文件扩展名分别是:

NCGR_ NSCR_ NCLR_

导出:

首先,如果有调色板压缩文件.NCLR_,就先把这东西处理成可用的PAL文件.

方法是,用CrystalTile打开此压缩文件,在十六进制编辑器(视图)状态下,选择LZ77数据搜索(工具),点全文搜索,可能找到很多个,然后点解压-->全部解压,应该只能解出一个文件,再用CT打开解压后的文件,点一下0x28的地方,选则GBA 8BPP,在调色板选项里选转换成调色板,然后再点导出软件调色板(调色板),就可以转换成PAL格式了,不过此种方法和下一种方法转换的PAL文件的第0x10和0x11两位不同,不过这两个字节和颜色数据无关,所以两种方法都可行.

另一种烦琐的方法是,用CrystalTile(CT)打开此压缩文件,在十六进制编辑器(视图)状态下,选择LZ77数据搜索(工具),点全文搜索,可能找到很多个,然后点解压-->全部解压,应该只能解出一个文件,将解压的文件改成 p.dmp(扩展名是这个方便,文件名随意),之后用VBA随便打开一个gba文件(其实随便,我就自己生成了1个空文件,把扩展名改成了gba),打开内存查看器,点读取,把刚才那个p.dmp选上,然后地址填4FFFFD8(解压后的文件是从0x28处开始是颜色信息),关闭内存查看器,打开色盘查看器,点保存BG,这样就把 NCLR_ 文件变成了我们常用的 PAL 文件.

接下来,把 NCGR_ 文件解压,比如起名 1.bin ,然后把 NSCR_ 文件解压,比如起名 2.bin,然后自己写个批处理文件(用记事本写一个内容为 copy *.bin /b out.bin,然后把 txt 改成 bat 就可以了).运行,这两个解压后的文件就合并到一起了.用UE或其他十六进制编辑器打开这个合并后的 out.bin ,找到RGCN,其中记录R的地址+0x30为TILE地址,找到RCSN,其中R记录R的地址+0x24为MAP地址.

最后打开CrystalMap,在TILE地址和MAP地址相应填好,BG宽度一般是256,高度一般是192(实际是256,从MAP数据文件的大小可以算出来MAP数据部分为2048字节,也就代表1024个TILE,横是32,纵也是32,所以高和宽都应该是256,但是DS的屏幕只有256x192,其余的显示不出来,这是在写导入部分时候发现的,汗),这两个数据不同的图可能不同.颜色里加载刚才转成的PAL文件,颜色是16色模式还是256色模式要根据具体而定,最后选上MAP拼图(编辑),OK,最后一步,导出(编辑).

某些没有NSCR_文件,那样一般是16色的,没有MAP数据,就需要慢慢手动拼了(感觉是OAM拼图,不过没有研究过OAM数据).

DS的导出方法大致都是这样.

---------------------------------------------------------------------------------------------------------

改后导入:

一般来说,的导入就是导出的逆过程,还是像导出的时候将用CM显示出来,然后选导入(编辑),之后把文件再拆成两个文件,按TILE数据和MAP数据文件的文件头拆就可以,然后分别压缩,改成原来的文件名,替换掉原文件.

不过这个导入过程和上面的导出过程的关系就像求积分和求微分一样,导出是简单的,导入就要相对困难一些.所以最好是分析文件里的数据信息:

发现解压后的TILE文件的文件头的那48字节为:

52 47 43 4E FF FE 00 01 XX XX XX XX 10 00 01 00

52 41 48 43 YY YY YY YY ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ

00 00 00 00 00 00 00 00 MM MM MM MM 18 00 00 00

其中XX部分为从地址0h开始算,下面的字节数,也就是文件大小,高位在后,YY部分为从地址10h开始算,下面的字节数,也就是文件的大小-10h,即YYYYYYYY = XXXXXXXX - 10h,ZZ部分未研究明白,汗,MM部分为从地址30h开始算,下面的字节数,也就是文件的大小-30h,即MMMMMMMM = XXXXXXXX - 30h,这样就可以重新自己写一个TILE文件.

如果是256x192大小的256色,那么TILE文件的大小应该为256x192+48=49200(C030),我们可以写一个这么大的空文件,然后把文件头改为

52 47 43 4E FF FE 00 01 30 C0 00 00 10 00 01 00

52 41 48 43 20 C0 00 00 ZZ ZZ ZZ ZZ ZZ ZZ ZZ ZZ

00 00 00 00 00 00 00 00 00 C0 00 00 18 00 00 00

ZZ部分和原TILE文件一致,然后用CT打开这个只有文件头的文件,把窗口改为256x192的大小,偏址设为30(此处是十六进制),然后直接导入修改后的BMP文件,保存,未压缩的TILE文件就制作完毕了.

然后再来看MAP文件里的文件头数据:

52 43 53 4E FF FE 00 01 XX XX XX XX 10 00 01 00

4E 52 43 53 YY YY YY YY NN NN PP PP ZZ ZZ ZZ ZZ

MM MM MM MM

这里的XX部分,YY部分,MM部分的意思和TILE里的是一样的,NN NN 为图象的宽,PP PP 为图象的高,ZZ部分也是未弄清的,理论上MAP文件的大小应该为(256/8)x(192/8)x2+36=1572,但发现原ROM里的是2084,原来ROM里的MAP数据是256x256的,也就是说把按256大小的方型处理了,在游戏显示的时候只显示最上面高192的部分,这样写一个2084(0824)大小的文件,文件头直接把原来的COPY过来就可以了,然后从24h开始写00 00 01 00 02 00 03 00...一直写到617h就可以了,这样新的MAP文件就做成了.

最后说一下压缩问题,DS不是有个Wi-Fi吗,那我的办法就是Wi-LZ77(伪压,这回是真成的伪压缩,采用压缩格式,但是没有起到实质性的压缩,反而是文件变成了原来的1.125倍再多4字节,再汗).

具体方法就是新建一个空文件,先向该文件写入10(LZ77压缩的标志),然后再向其中写入待压缩文件的大小(3字节,高位在后),然后向文件里写一个00,从待压缩文件里读取8字节,写入此文件中.循环写00再写8字节的过程,直到把待压缩文件都读完,这时生成的文件就是伪压缩后的文件.改完名称,放回原位置,应该就可以用了.

原理:

先说调色板,正常256色PAL格式的调色板,颜色数据是从0x18开始,每四字节代表一个颜色,最后一字节为00,前3字节分别代表R(RED),G(GREEN),B(BLUE),每个字节的范围是0x00-0xff,但是GBA和DS的调色板是用两字节来表示颜色,算法是分别将[B/8],[G/8],[R/8]转换成二进制,取后5位,连成一个15位的数,然后在前补一位0,最后转换成十六进制,高位在后.

注:[]是取整函数,所以GBA和DS上两个最相近的颜色的RGB值最小差8,做成渐变效果非常不理想,大多都可以看出颜色的层次.

例:正常256色PAL格式的调色板里的颜色数据为 00 18 28 00, 其中第一个 00 代表 R:0, 18 代表 G:24, 28 代表 B:40, bin([B/8])=bin(5)=00101, bin([G/8])=bin(3)=00011, bin([R/8])=bin(0)=00000,然后连成一个16位数是: 0001010001100000, 转成十六进制是 0x1460, 高位在后就是 60 14, 这就是在GBA或DS ROM里看到的数据.

DS ROM里的NCLR文件是从0x28开始是颜色数据.

再说说TILE数据和MAP数据,这里的TILE是只8x8的,每个TILE就像一个字模,而这些TILE的生成原理也是像生成码表一样,一般在里先出先的在前面,依次排下去,有和之前TILE相同,就跳过,这样一幅图就用了较少的TILE记录下来,同时生成他们的排放顺序,也就是MAP数据,一般MAP数据是双字节(有的是单字节),一般高位在后,有时高位代表特效(比如水平翻转,垂直翻转等,有兴趣的朋友可以自己研究一下,不过貌似GBA系统参考里有),特效CM都能正常显示出来,不过改完了,导入时CM只会处理双字节的低位,有些特效代码就要自己手动清00了.

其实我一直把TILE数据和MAP数据按字和文本的关系来理解,这样很易懂,就像我记定理时总爱往几何上靠,这样记得深刻一样

那么,到这里,破解就完成了。

下面就到翻译了,这个没什么好说的。个人汉化的话,基本是边翻译边润色。直接把文字扩容或缩减到对应的部分。

上面那些都没问题了的话,导入更是小问题了。

另外,推荐LZ个入门汉化一些容量小破解简单的游戏,可以试试太空侵略者

就是破解简单,文本量也不大。

LZ先学习性的汉化一个,再考虑难的:

偶自问有一些基础,但是在尝试破解诸如魔界战记之类的,还是遇到很多麻烦。个人实在没有能力精力。

我学汉化时在 A9VG学的,你也可以去多看看,有很多具体的汉化实例。

另外,ACG和星组都是技术实力很强的组。LZ这样说的话,感觉HH游戏很简单一样。不喜欢就玩日文版本去,没人勉强你

修改文字同样需要破解,同样需要导出文本,和汉化一个游戏是一样的道理,OK?

为什么是加在2月29日而不是12月32日?

我们先来想想看,2月29日这个玩意儿,有什么地方不太寻常的?先来问你一个问题:照常理来说,应该把多余的日子加在一年的最后面才对,那不就应该是12月32日了,人们怎么会选择创造一个2月29日呢?

你可能会说,这个问题还需要想吗?因为2月日数最少啊!2月只有28天,加上个29日听起来不怎么奇怪;12月已经有31天了,再加上一个32日也太好笑了吧!不过,事情没有这么简单。

在早期的罗马历法(罗慕路斯历)当中,其实一年只有十个月。这件事情在现在各月份的英文名称当中,还留下了明显的痕迹。例如说,十月的英文是October,但是octo-开头的字是代表八的意思,所以October顾名思义是八月的意思!可以去看,章鱼(octopus)是八只脚的生物,而八边形的英文称为octagon。那问题来了,为什么八月突然变为十月了呢?

事情发生在罗马国王努玛庞皮留斯(Numa Pompilius)的时候,当时发现原本每年十个月、304天的历法,造成每年年初的季节都不同了,人们的生业周期与历法格格不入。这个道理很简单,地球绕太阳公转一圈(当然那时候人们不清楚地绕日这回事)大约365天,称为一个回归年,也就是太阳在黄道的位置移动了360度的时间。太阳回归了之后,代表季节周期也回归了一次,人们生产的周期也就又回归了一次。

一年304天的古历,实在与回归年差距太大了,所以努玛决定加上两个月,让历法的一年变为355天,较接近太阳的周期。不过这时候,Ianuarius(January)和Februarius(February)是加在一年的最后面,而不是一开始。

这个355天的历法,我们就可以看出一些天文意义了。

第一,如我们刚才说的,比起原先的历法,已经较为接近一个回归年,符合地球上人们真实感受到的季节递嬗周期。第二,这个数字不是没有来头的,它符合月亮盈亏的周期。月亮绕着地球公转的周期有好几种算法,其中一种称为朔望月,也就是盈亏的周期,大约29.53天。计算一下,12个朔望月大约354.4天,因此把历法一年订作355天是具有天文意义的。

不过,接下来还有个问题,355天还是不到365天,要怎么补足呢?方法就是闰月了。那时候,人们的作法是一年的最后一个月:Februarius(February)身上动手脚,他们把这个月缩减到23或24天,接着在后面加上一个27天的闰月。掐指一算,这个二月原本有28天,被减去了4到5天,但后面的闰月加上了27天,所以置闰的年就有377或378天了。后来置闰的方法改了好几次,Februarius(February)也从一年的最后一个月变为第二个月,但手脚仍然是动在Februarius(February)身上,到现在依然如此,所以闰年的时候多出来的才是2月29日,而不是12月32日了!

一年有两个2月24日

在努玛之后,罗马另一次重大的历法变革发生在西元前46年,主角是众所周知的尤利乌斯凯撒(Julius Caesar)。凯撒打赢高卢战争与内战之后,集大权于一身,并改革历法,此新历称为儒略历(Julian calendar)。为了整顿历法,他先将西元前46年扩充到445天,隔年开始则按照他的规律。

凯撒的历法,试图解决一个问题:回归年并不是正好365天,而是365天又6小时左右。他的做法是单一的闰日,置闰的位置是在三月的第一天(Kalends of March)数回去第6天,也就是2月24日。闰年称为bissextile ("twice sixth",意思是两个第六天)。那时候没有所谓的2月29日,而是把2月24日延长为两天的时间,但在法律上那两天算作同一天,也就相当于有一个长达48小时的日子。

只不过,人算不如天算,新历法实施没多久,一件惊天动地的事情发生了西元前44年,凯撒被暗杀了!原本凯撒的要求是每四年置闰一次,但此后死无对证,发生一个严重的误解,人们三年就置闰一次。这样一来,西元前一世纪的闰年发生好几次错误,直到数十年后罗马帝国君主屋大维(奥古斯都)才减少了几次闰年,来弥补多闰的那几次。一般认为,弥补之后恢复正常历法的时间是西元8年。

每四年有一次29天的二月,理论上是在凯撒启用儒略历时开始,但因为阴错阳差,其实过了五十年左右,到了奥古斯都的时候才正式上轨道。当初的作法是延长2月24日,到了这几百年才变成外加一个2月29日的方式。

消失的十天:格列哥里改历

刚才我们对于回归年的估算,还不够仔细。依据现代的测量,我们知道,一个回归年实际上是365.2422天。儒略历每四年闰一次,所以它的一年平均是365.25天,乍看之下和回归年差不多,但过了几百年后就开始有差别了!简单估算,一年差了约0.0078天,从西元元年到西元1500年,就可以差了10天左右了!

每年差一点点,对于人们生活周期可能还没有太大的影响,但是对于宗教节庆就有不可轻忽的改变了。由于复活节的时间,是从春分的时间推算而来的。历法上的年,与太阳、地球真实关系的回归年有所偏移,就代表每年春分的时间位在历法上的日期,也不断地偏移。春分的时间偏移,复活节的时间也就跟着偏移,这对教廷来说是件大事。

于是,在1582年,教皇格列哥里十三世宣布改历。他做了两件事情:第一件事,改变置闰的规则。为了让每年春分时间一致,必须让历法的年逼近回归年。原来年份只要是4的倍数就要置闰,但这样闰太多了,使得历法平均一年(365.25天)超过回归年(365.2422天)太多,因此需要砍掉几个闰年来修正这个余额。这时采取的办法是这样的:以后年份如果是100的倍数但不是400的倍数,就不是闰年了。也就是说,西元1700、1800、1900年都不再是闰年,但2000年仍然是闰年。

以上的作法,将4年1闰变为400年97闰。简单计算一下,1/4=0.25,儒略历平均一年365.25天;97/400=0.2425,格列哥里历平均一年365.2425天,与回归年的误差缩减到每年0.0003天,到三千多年左右才会误差一天。这套格列哥里历,就一直沿用成为现代的公历了。

格列哥里改历,还做了第二件事情,目的是要让春分回到3月21日,才能维系复活节原定的时间。因此,他做了一个立即的修正,等于是大刀砍下去,把之前偏差掉的全部改了回来。还记得吗?我们刚才估算的结果,儒略历经过一千多年,整整多出了10天左右。这时候,教皇格列哥里十三世作法很直接,直接在1582年砍掉10天!所以,1582年10月5日到14日,这十天就因为这次改历而消失了。

然而,不是全世界都立刻采用这套历法,并配合消失的十天。早在西元1054年,罗马公教与东正教早已大分裂,这时罗马教皇宣布改历,东正教也就经过很多年都不认帐了。欧洲最后一个采用格列哥里历的国家是希腊,采用的时间已经到1923年了。

那现在还有人在用古老的儒略历吗?广义地说,其实还是有的,这种人叫作天文学家。你会觉得很奇怪,历法不就是因为天文学家对太阳、地球运动的更严密计算,讲求精确才不断改正吗?那为什么天文学家自己偏偏要使用旧的标准呢?

是这样的,闰年的修正,是为了让以年为周期的历法,配合真实自然界的季节变化、太阳位置。一般人的生活、宗教仪式都需要以年为周期,但是天文学的纪录没有这个必要。年/月/日这样的纪录,在许多运算上太过麻烦,天文学家为了方便,只要一套以日为单位的系统,不断递加上去就好了。严格来说,天文学家用的也不是儒略历了,而是一套以儒略历定义的起点为标准的儒略日。比如说,今天是2016年2月29日,但儒略日记作2457448,后面还可以加小数点。网路上很容易找到公历转为儒略日的换算工具,可以上去试试看!

本文来自作者[安柏]投稿,不代表泰博号立场,如若转载,请注明出处:https://staplesadv.cn/ds/51014.html

(40)
安柏的头像安柏签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 安柏的头像
    安柏 2025年10月30日

    我是泰博号的签约作者“安柏”

  • 安柏
    安柏 2025年10月30日

    本文概览:油漆家具主要污染问题,油漆家具主要分为实木油漆家具与欧式家具等等,但家具看起来不同,但主要的污染问题基本相同。油漆家具甲醛污染有两个来源:一是没有喷漆的人造板;二是家具内部喷...

  • 安柏
    用户103001 2025年10月30日

    文章不错《家具的油漆对人体有什么危害-急用》内容很有帮助

联系我们

邮件:泰博号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信