总览

make_smbcodepage c|d 代码页 输入文件 输出文件

描述

这个工具是是Samba组件的一部分。

针对Samba 2.2的国际化功能,使用make_smbcodepage可以编译或反编译代码页文件。

选项

c|d
使用c把一个文本格式的代码页文件编译成二进制格式;使用d把一个二进制格式的代码页反编译成文本格式。
代码页
选用的代码页(一个数字,如850)。
输入文件
待处理的输入文件。在使用c选项时,它是文本格式的代码页预定义文件,这些文件可以在Samba包的source/codepages 目录中找到;在使用d选项时,它是二进制格式的代码页文件,通常,这些文件保存在Samba安装路径的lib/codepages目录的。
输出文件
程序产生的输出文件。

Samba的代码页文件

文本格式的代码页定义文件描述了在指定DOS代码页大于127的字符中是如何把大写转换为小写的。要注意的是,在某些DOS代码页中 (如437),大小写之间的映射并不一定对称。例如,在代码页437中,当进行小写到大写的映射时,把带有撇形(')重音符号的a转换为不带重间符号的明文大写字母A,而当进行大写到小写映射时,则把字母A直接转换为字母a而不带重间符号。

而二进制代码页定义文件则是相同信息的二进制表示,同时包含一个值,用来说明所描述的代码页。

因为Samba还没有使用UNICODE码,所以如果你希望在特殊的语言环境中不区分大小写的话,就要为DOS和Windows客户端指定所用的代码页。 Samba所用的缺省代码页是850(西欧语)。同时,Samba发布还提供了文本格式的样本代码页文件,包含437(美语)、737(希腊语)、850(西欧语)、852(MS-DOS 拉丁2)、861(冰岛语), 866 (斯拉夫语)、932 (日语)、936(简体中文)、949(韩文)和950(繁体中文)。我们鼓励用户为自己的代码页编写文本格式的定义文件,并把它捐款给samba@samba.org。当你执行'make install'命令时,source/codepages目录中的所有代码页文件都会被编译并安装到系统上。

smb.conf文件中配置了client code page选项之后, smbd服务器就可以使用客户代码页了。

相关文件

codepage_def.<codepage>

这是Samba源代码包提供的用于输入的文本代码页文件,它们保存在 source/codepages目录中。

在这些文本格式的代码页定义文件中,每一行都包含了四个字段:

*
lower:小写字符的十六进制值。
*
upper:上述小写字符所对应的大写字符十六进制值。
*
map upper to lower:这是个布尔量(True或False二者选一)。用来说明在对一个文件名进行小写处理时,是否让Samba将其中的大写字符映射成小写字符。
*
map lower to upper:这是个布尔量(True或False二者选一)。用来说明在对一个文件名进行大写处理时,是否让Samba将其中的小写字符映射成大写字符。

codepage.<codepage> 这是Samba产生的输出二进制代码页文件,它们保存在Samba安装目录的 lib/codepage中。

安装

服务器及相关支持文件的保存位置决定于系统管理员,以下只是建议:

我们推荐把make_smbcodepage程序安装到/usr/local/samba 路径下的一个目录中,这个目录应该具有只有root可写,所有人都可读的权限。这个程序本身应该让所有用户都可执行,而不应该执行suid或sgid 操作。

make_smbcodepage - 为Samba创建代码页文件的更多相关文章

  1. 用java 代码下载Samba服务器上的文件到本地目录以及上传本地文件到Samba服务器

    引入: 在我们昨天架设好了Samba服务器上并且创建了一个 Samba 账户后,我们就迫不及待的想用JAVA去操作Samba服务器了,我们找到了一个框架叫 jcifs,可以高效的完成我们工作. 实践: ...

  2. warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

    bug来源: 一直在看sift然后就手贱的给 opencv源码做注释,如果在vs里面打开会一直相安无事,但是问题出在我用了notepad++. 这样就报了标题的错误. 因为notepad++会以uni ...

  3. warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

    ------问题-------------------- Qt项目使用 VC++ 编译器出现此错误. warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 ...

  4. Xml文件汉化后改变代码页

    源Xml文件代码页为ansi,汉化后要转换为UTF-8,在网上搜素了以下结果,但解释的不都清楚,我找了好一阵才找到相应的操作.   为防止自己以后忘了,补充如下: 经过这样的设置,生成的汉化xml文件 ...

  5. vs2015下C4819该文件包含不能在当前代码页(936)中表示的字符问题解决

    今天编译IfcOpenshell出现很多warning如下: C4819 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据丢失 解决方案: 文件——& ...

  6. [采坑] VS2015 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

    问题: Visual Studio 2015出现warning C4819: 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据丢失. 解决方案: 1. ...

  7. WCSTOMBS 函数不支持中文件的解决方法(设置代码页)

    代码页没有进行设置.需要调用locale.h 中定义的一个函数设置默认的代码页 _tsetlocale(LC_ALL,_T(""));//设置代码页  wcstombs(sendB ...

  8. Nodejs之MEAN栈开发(七)---- 用Angular创建单页应用(下)

    上一节我们走通了基本的SPA基础结构,这一节会更彻底的将后端的视图.路由.控制器全部移到前端.篇幅比较长,主要分页面改造.使用AngularUI两大部分以及一些优化路由.使用Angular的其他指令的 ...

  9. Nodejs之MEAN栈开发(六)---- 用Angular创建单页应用(上)

    在上一节中我们学会了如何在页面中添加一个组件以及一些基本的Angular知识,而这一节将用Angular来创建一个单页应用(SPA).这意味着,取代我们之前用Express在服务端运行整个网站逻辑的方 ...

随机推荐

  1. [spring jpa] 解决SimpleJpaRepository的多数据源配置问题

    前言 前段时间使用spring jpa做了一个项目,由于涉及到了多个数据库,因此需要进行多数据源的配置.网上找了很多的资料,尝试着配置,都以失败告终.之后通过断点最终完成了多数据源的配置.这篇博客主要 ...

  2. Oracle--listagg函数使用注意

    listagg是一个列转行函数,在一对多的情况下,通过该函数转换成一对一 该函数使用跟聚合函数中的SUM差不多,但需要注意的是,该函数不适合用于多表连接情况下,都则及时字段值相同也会出现多值 例如: ...

  3. [LeetCode]-DataBase-Employees Earning More Than Their Managers

    The Employee table holds all employees including their managers. Every employee has an Id, and there ...

  4. 初识REST

    RESTful介绍: REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”. 1 ...

  5. 通过构造器配置Bean

    public class Role { private Log id; private String roleName; private String note; public Role(String ...

  6. final finalize finally throw throws try catch

    什么是finalize()方法 finalize()方法什么时候被调用 参见网址 析构函数(finalization)的目的是什么 final 和 finalize 的区别 final以下参见网址 f ...

  7. STL标准库-容器-set与map

    STL标准库-容器-set与multiset C++的set https://www.cnblogs.com/LearningTheLoad/p/7456024.html STL标准库-容器-map和 ...

  8. docker镜像和加速

    首先,需要明确一个问题:Mirror 与 Private Registry 有什么区别? Private Registry 是开发者或者企业自建的镜像存储库,通常用来保存企业内部的 Docker 镜像 ...

  9. Git 版本管理工具命令速查

    转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git comm ...

  10. java网络通信:netty

    Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. 也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 可以确保 ...