Lua 读取二进制文件并转化为十六进制

Lua 读取二进制文件并转化为十六进制,第1张

最近在写 Lua 脚本,需要读取二进制文件并转化为十六进制的字符串,C语言读文件,返回的是字符串类型,Lua 返回的也是字符串类型(用的时候忘记去查类型了,导致这个地方浪费了很长的时间。。。),由于找解决方法找了蛮长时间的,所有在这里先记录一下。

local function readAll(filePath)

--

local f = assert(io.open(filePath, "rb"))

local content = f:read("*all")

f:close()

return content

end

local function bytesToHexStr(filePath)

--

local content = readAll(filePath)

local result = ""

local len = string.len(content)

for i = 1, len do

local charcode = tonumber(string.byte(content, i, i))

local hexstr = string.format("%02X", charcode)

result = result .. hexstr

end

return result

end

有一个小问题,顺便记录一下,在读取了二进制文件后,本想用print打印看看内容有没有被读出来,结果只打印了一部分,用 notepad++ 打开发现,文件有很多 NUL 的字符,原因是 print 在遇到 NUL 就结束打印了,囧o(╯□╰)o

十六进制转二进制可以参考这个: Lua小程序:十六进制字符串和二进制数据间的转换

这个得分开细细说:

1.Android原生官方开发语言首选JAVA编程语言,Android一开始运用层使用的就是JAVA,现在随着和甲骨文的版权问题,官方已经往kotlin编程语言方向转变,但是不可否认,JAVA还是Android的主流语言,基本原因就是JAVA的Android库异常多,还很丰富。

2.iOS一开始运用层使用的是object-C,现在官方推swift编程语言,新项目直接swift,但是你还会遇到好些老项目维护,不可避免和object-c打交道。

3.现在也比较流行混合开发APP,一套代码通吃Android和iOS,那么有很多框架选择,框架也是某个开发语言基础。国内的mui,uni-APP使用的是JavaScript,HTML,CSS。框架vue.js。

国外的ionic使用JavaScript,HTML,CSS,ionic4支持angular,vue,react等框架。

reactnative使用JavaScript,HTML,CSS,框架react。

谷歌的flutter可能将来会最流行,使用语言Dart。

最后上一张风景图片结束,希望对你有帮助。

现在主流的手机 *** 作系统一个是Android,另一个就是iOS,而开发手机App现在主要的开发语言有三类:第一:Java,Kotlin(主要是Android方面),第二Swift,OC(主要是iOS)系统,第三H5等,所以就看你想要制作哪个平台的手机App,去学习,就好了~加油~

主要就是java,这个是跨平台通用的,最近比较火的语言,很多软件都是它编程的。几乎所有智能手机都有内置的java平台。要学的话可以买淘宝上的《Java----从入门到精通》系列。

我用的是flutter搭建好环境以后,看一天文档基本就能上手开始写了,非常简单,代码提示友好,查看源码能看明白七八成的api

安卓:Kotlin

谷歌已经将其定位安卓的官方语言!

苹果:OC或者swift

swift苹果新语言,即将取代oc

swift与Kotlin相似度90%,都是现在编程语言,更容易上手,且更友好!不用担心过时或者被短时间取代!

Kotlin也可以写java程序,swift是开源的,利用框架也可以写服务器

以上是原生开发,前后端都通吃!

混合开发:

谷歌还有一个flutter,是混合开发可以编译成安卓与苹果,还有网页!

阿里的weex也是混合开发,可以编程成安卓,苹果与网页!

flutter与weex是渲染成原生组件,所以流畅度不用怀疑!

还有一种利用前端三大框架开发的,angluer,native.vue!

目前vue最火,各家小程序,包括uniapp都是基于vue,所以先学vue即可!

至于先学哪个?个人建议先原生开发然后再学vue!最后在学混合开发!

我是先学的oc,也会使用swift,花了三个月自学转的前端,一年了,vue,uniapp,weex都做过项目,也都上架并运行维护至今!

喜欢了就努力学习!

从问题本身猜测一下,这是一个编程初学者提出的问题。

作为初学者,想制作适合多平台的手机App,那么,就需要编程语言易学、易懂。

三个建议:

Javascript

使用Javascript可编写网页,可编写手机H5应用,可编写微信小程序,可使用ReactNative编写手机App。

不能实现原生App的性能,但作为业余使用足够了。

Dart

可使用Flutter框架,用Dart语言编写跨平台App。这个框架比较新,我最近也在使用。

虽然相对来说资料少一些,但看起来前景可期。

Lua

如果还想更简单点,可以考虑CoronaSDK。使用Lua开发跨平台手机App。

最后,如果想开发像样的App,而不只是玩票,最好还是有一个团队来完成。如果对性能有一定要求,建议用Java/Kotlin和Objective-C/Swift开发原生App。

主要就是java,这个是跨平台通用的,最近比较火的语言,很多软件都是它编程的。

几乎所有智能手机都有内置的java平台。

要学的话可以买淘宝上的《Java----从入门到精通》系列。

望采纳。

你好,制作手机APP有多种编程语言组合完成,简单的介绍一下。

使用人数最多的语言JAVA,JAVA可以作为APP的后台开发语言,前端可以安卓原生开发(需要学习Android技术)和苹果原生开发(需要学习iOS技术)前端也可以用web技术来写,需要学习HTML、CSS、jQuery、ajax、vue.js等web技术,掌握了基本的前后端技术,可以开始APP的开发了,对于初学者难度还是比较大的,只有通过大量的项目编写,才能慢慢成为一个合格的APP开发技术。

一般来说,做一个APP都是多个人合作完成的,一个人的能力毕竟有限,学习APP开发建议你选择一个方向去学习,这样会学的更快更专业。

一个合格的微信小程序开发平台需要满足很多条件,大家可以从以下这些方面去观察了解,看看到底适不适合自己:

1、是否有足够的资金支持开发,一个公司想要在这个社会上立足,就需要有足够的资金支持,不仅是为了确保公司正常的运作,更是为研发技术解除后顾之忧,如果公司的资金比较雄厚,那么实力肯定不会太差。 

2、是否具备市场分析的能力。做小程序开发比较重要的就是要对市场有一个综合分析的能力,因为市场每日都在发生着变化,严谨的把握小程序开发的动向,预测未来的发展趋势,对于市场的宏观进行调控是一个专业的微信小程序开发公司必备的能力之一。

3、是否拥有先进的开发技术。技术是产品的核心,一个公司如果技术比较强硬,那么产品的到得效果自然不会太差,大家可以从以往的一些开发案例中去查看一个公司的开发能力如何,了解近期的一些开发项目是否和市场的需求比较切近,因为小程序发展的速度可谓是一日千里,人们对于它的功能要求也越来越高,要想满足客户的需求就只能将自身的开发技术提高,拥有强劲的开发能力的公司自然值得大家进行选择。

4、服务质量。一家微信小程序开发公司的服务也值得大家认真的去思考,因为有的公司确实技术优人一等,但是服务态度却强差人意,和这样的公司合作必然会遇到很多的问题,所以大家在选择的时候一定要理清自己的思绪,深入的了解一家公司的售后服务、技术服务、设计服务等等,这些方面做得越好代表着这家公司服务质量越高。

5、查看开发的团队。开发的人员在小程序开发的过程中才是核心,只有他们拥有强劲的技术,眼睛的思路和清晰地逻辑才能够确保小程序开发的结果,满足大众对于小程序开发的需求。

其实选择一个专业的微信小程序开发公司并不难,只是因为现在市场中的开发公司各有千秋,市场不知道该如何做选择,大家可以通过介绍的5点进行筛选,货比三家的进行查看,根据自己的需求来选择更适合自己的开发需求的公司。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7778194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存