- 浏览: 3047809 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
诶,之前写了这个程序却没有发出来,结果自己差点找不到了。幸好在笔记本的某个不起眼的角落里又见到了它啊 T T
这个程序用于从*.tkn脚本文件中提取“文本”(text=之后的项)。对应的ScriptInserter那时没写……
提取出来的文本像这样:
一行原始行号,一行文本。行号是用于校验用的。
ScriptExtractor.cs
这个程序用于从*.tkn脚本文件中提取“文本”(text=之后的项)。对应的ScriptInserter那时没写……
提取出来的文本像这样:
引用
135
<FONT size=22 face='G'><TYPE interval=100% speed=700 style='Wave'>心配だな~
167
<TYPE interval=60>お兄ちゃん<BR>...<TYPE interval=55>ほんとに大丈夫なの?
170
<FONT size=16><TYPE interval=60>今日のクリスマス・ミサには...<BR>毎年..たくさんの人が来るんだよ
<FONT size=22 face='G'><TYPE interval=100% speed=700 style='Wave'>心配だな~
167
<TYPE interval=60>お兄ちゃん<BR>...<TYPE interval=55>ほんとに大丈夫なの?
170
<FONT size=16><TYPE interval=60>今日のクリスマス・ミサには...<BR>毎年..たくさんの人が来るんだよ
一行原始行号,一行文本。行号是用于校验用的。
ScriptExtractor.cs
// ScriptExtracter.cs, 2008/01/13 // by RednaxelaFX /* * Copyright (c) 2008 著作权由RednaxelaFX所有。著作权人保留一切权利。 * * 这份授权条款,在使用者符合以下三条件的情形下,授予使用者使用及再散播本 * 软件包装原始码及二进位可执行形式的权利,无论此包装是否经改作皆然: * * * 对于本软件源代码的再散播,必须保留上述的版权宣告、此三条件表列,以 * 及下述的免责声明。 * * 对于本套件二进位可执行形式的再散播,必须连带以文件以及/或者其他附 * 于散播包装中的媒介方式,重制上述之版权宣告、此三条件表列,以及下述 * 的免责声明。 * * 未获事前取得书面许可,不得使用RednaxelaFX之名称, * 来为本软件之衍生物做任何表示支持、认可或推广、促销之行为。 * * 免责声明:本软件是由RednaxelaFX以现状("as is")提供, * 本软件包装不负任何明示或默示之担保责任,包括但不限于就适售性以及特定目 * 的的适用性为默示性担保。RednaxelaFX无论任何条件、 * 无论成因或任何责任主义、无论此责任为因合约关系、无过失责任主义或因非违 * 约之侵权(包括过失或其他原因等)而起,对于任何因使用本软件包装所产生的 * 任何直接性、间接性、偶发性、特殊性、惩罚性或任何结果的损害(包括但不限 * 于替代商品或劳务之购用、使用损失、资料损失、利益损失、业务中断等等), * 不负任何责任,即在该种使用已获事前告知可能会造成此类损害的情形下亦然。 */ using System; using System.Collections.Generic; using System.IO; using System.Text; namespace FFDSystemAnalysis { enum TokenType { Decimal = 0x080, Identifier = 0x081, Hexadecimal = 0x082, String = 0x083, Operator = 0x085 } enum OutputState { Searching, FoundText, FoundEqual } sealed class ScriptExtractor { private static readonly byte[ ] SIGNATURE = { ( byte )0x54, ( byte )0x4F, ( byte )0x4B, ( byte )0x45, ( byte )0x4E, ( byte )0x53, ( byte )0x45, ( byte )0x54, ( byte )0x64, ( byte )0x0, ( byte )0x0, ( byte )0x0 }; static void Main( string[ ] args ) { if ( !args[ 0 ].EndsWith( ".tkn" ) ) return; if ( !File.Exists( args[ 0 ] ) ) return; string infile = args[ 0 ]; string outfile = Path.GetFileNameWithoutExtension( infile ) + ".txt"; Encoding utf16le = new UnicodeEncoding( false, true ); Encoding jis = Encoding.GetEncoding( 932 ); using ( BinaryReader reader = new BinaryReader( File.OpenRead( infile ), jis ) ) { using ( BinaryWriter writer = new BinaryWriter( File.Create( outfile ), utf16le ) ) { byte[ ] sig = reader.ReadBytes( SIGNATURE.Length ); if ( !Equals( sig, SIGNATURE ) ) { Console.WriteLine( "Wrong signature" ); return; } // write UTF-16LE BOM writer.Write( ( ushort ) 0xFEFF ); // process each token int lineNum = 1; TokenType tokenType = TokenType.Operator; OutputState state = OutputState.Searching; int tokenCount = reader.ReadInt32( ); for ( int tokenNum = 0; tokenNum < tokenCount; ++tokenNum ) { // get line numbers lineNum = reader.ReadInt32( ); // get token tokenType tokenType = ( TokenType ) ( reader.ReadByte( ) & 0x0FF ); // get token value string tokenString = ReadCString( reader ); switch ( tokenType ) { case TokenType.Identifier: if ( tokenString.Equals("text") ) { state = OutputState.FoundText; } else { state = OutputState.Searching; } break; case TokenType.String: if (OutputState.FoundEqual == state) { writer.Write( utf16le.GetBytes( lineNum.ToString( ) ) ); writer.Write( utf16le.GetBytes( Environment.NewLine ) ); writer.Write( utf16le.GetBytes( tokenString ) ); writer.Write( utf16le.GetBytes( Environment.NewLine ) ); state = OutputState.Searching; } break; case TokenType.Operator: if ((OutputState.FoundText == state) && tokenString.Equals("=")) { state = OutputState.FoundEqual; } else { state = OutputState.Searching; } break; case TokenType.Decimal: case TokenType.Hexadecimal: // do nothing break; default: Console.WriteLine( "Unexpected token type {0} at 0x{1}.", tokenType.ToString( "X" ), reader.BaseStream.Position.ToString( "X" ) ); return; } // switch tokenType } // for } } } static bool Equals( byte[ ] a, byte[ ] b ) { int len = a.Length; if ( len != b.Length ) return false; for ( int i = 0; i < len; i++ ) { if ( a[ i ] != b[ i ] ) return false; } return true; } static string ReadCString( BinaryReader reader ) { StringBuilder builder = new StringBuilder( ); char c = '\0'; while ( ( c = reader.ReadChar( ) ) != '\0' ) { builder.Append( c ); } return builder.ToString( ); } } }
发表评论
-
IDA Pro Free笔记
2013-05-19 08:59 0IDA把数据都存哪里了? Windows 7 D:\tem ... -
加密算法收集
2011-01-23 16:10 0加密算法,OTP http://en.wikipedia.or ... -
BattleMoonWars 归档解压/压缩程序(砍掉重炼版)
2010-05-03 21:40 2277以前写过BattleMoonWars的 ... -
Quartett!文本插入程序
2008-06-21 20:38 1569年初写的Quartett!的文本 ... -
BattleMoonWars 归档解压/压缩程序 (Java)
2008-04-08 16:44 2442呼,这个也是一年多之 ... -
ケータイ少女 script.arc的解压缩程序 (Java)
2008-04-08 14:02 4646嗯,这个也是快一年前写的了。当时在澄空看到有人想要解手机少女的 ... -
桃華月憚体験版的解压缩程序 (Java)
2008-04-08 13:38 3108这是差不多一年前写的程序了……有人说想看于是发出来。 当时也是 ... -
Fortune Arterial Tools
2008-02-28 13:34 2442using System; using System.IO; ... -
さくらシュトラッセ literal record
2008-01-28 14:53 1801脚本在scenario.sc里。无 ... -
Borland的库的一个小特征?
2008-01-06 00:22 2503最近弄了下KAMIPANI相关 ... -
[脚本分析] 从Quartett!的脚本得到资源列表
2007-12-21 14:00 1767听汉公的说明,看来LittleWitch所使用的FFD Sys ... -
[脚本分析] Quartett!的二进制脚本分析
2007-12-20 22:17 3317我前两天在NetOA方面确 ...
相关推荐
"Quartett!文本插入程序"是一个用于在特定文件中插入文本的工具,它主要处理tkn格式的文件。这个程序可能对程序员或系统管理员非常有用,因为它允许他们自动化一些文本处理任务,例如批量添加注释、修改配置文件或者...
"quartett-app" 是一个基于Java开发的项目,它是一个响应式的网页游戏,灵感来源于经典的超级Trumpf游戏。这个游戏的特色在于它结合了蒂罗尔地区城市的文化元素,为玩家提供了一种新颖且富有地方特色的卡牌游戏体验...
Jupyter-Notebook
Jupyter-Notebook
高效甘特图模板下载-精心整理.zip
lstm Summary Framework: z = U>x, x u Uz Criteria for choosing U: • PCA: maximize projected variance • CCA: maximize projected correlation • FDA: maximize projected intraclass variance
OpenGL调试工具,适合图形开发者,包括视频开发,播放器开始以及游戏开发者。
全国行政区划shp最新图.zip
全国研究生招生与在校数据+国家线-最新.zip
Jupyter-Notebook
直播电商交流平台 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
《林黛玉进贾府》课本剧剧本
2000-2020年沪深A股上市公司融资约束程度SA指数-最新数据发布.zip
PPT模版资料,PPT模版资料
CPA注会考试最新教材资料-最新发布.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
内容概要:本文提供了一个完整的职工管理系统的C++源代码。通过面向对象的编程方法,实现了包括创建新职工、查询、增加、修改、删除、排序、统计以及存储和恢复职工数据在内的多个基本操作功能。该系统支持不同的用户角色(如管理员与老板),并通过菜单驱动方式让用户方便地进行相关操作。此外,还包括了错误检测机制,确保操作过程中的异常得到及时处理。 适合人群:有一定C++语言基础,特别是面向对象编程经验的程序员;企业管理人员和技术开发人员。 使用场景及目标:适用于中小型企业内部的人力资源管理部门或IT部门,用于维护员工基本信息数据库,提高工作效率。通过本项目的学习可以加深对链表、类和对象的理解。 阅读建议:建议先熟悉C++的基本语法和面向对象概念,再深入学习代码的具体实现细节。对于关键函数,比如exchange、creatilist等,应当重点关注并动手实践以加强理解。
Jupyter-Notebook
考研公共课历年真题集-最新发布.zip
Huawei-HKUST Joint Workshop on Theory for Future Wireless 15-16 September 2022 华为-香港科技大学未来无线理论联合研讨会 Speaker:Jingwen Tong