# 自 Lua 5.2 以来的变更
这里列出了 Lua 5.3 引入的主要变更。 [参考手册](contents.html) 中列出了 [不兼容的地方](manual.html#8)。
### 主要变化
* 整数 (默认 64 位)
* 32 位整数的官方支持
* 位操作符
* 基本的 utf-8 支持
* 值的打包及解包函数
这些是 Lua 5.3 引入的其它变更:
### 语言
* 用户数据可以是任意 Lua 值
* 整数除法
* 某些元方法有了更加灵活的规则
### 库
* `ipairs` 以及表处理库都会考虑元方法
* `string.dump` 多了裁减选项
* 表处理库考虑了元方法
* 新函数 `table.move`
* 新函数 `string.pack`
* 新函数 `string.unpack`
* 新函数 `string.packsize`
### C API
* 简化了延续点 API
* `lua_gettable` 以及类似函数会返回结果的值类型
* `lua_dump` 增加了裁减选项
* 新函数: `lua_geti`
* 新函数: `lua_seti`
* 新函数: `lua_isyieldable`
* 新函数: `lua_numbertointeger`
* 新函数: `lua_rotate`
* 新函数: `lua_stringtonumber`
### Lua 独立解释器
* 可以做计算器使用;不再需要前置 '='
* `arg` 表对所有代码都可用